根据<select> PHP / Mysql更改输入值

时间:2016-07-13 12:12:22

标签: php mysql loops select while-loop

一直在寻找答案的几天,甚至我认为这应该很简单,我似乎无法使它成功。 首先,我填写一个&#34; select&#34;使用while循环从我的数据库中获取值。 &lt; select class =&#34; admin-content-select&#34;名称=&#34;销售&#34;&GT;     &lt;?php try {         $ stmt = $ db-&gt; prepare(&#39; SELECT saleID,saleKal,saleNr FROM wcms_sale&#39;);         $ stmt-&gt;执行(数组(&#39;:saleKal&#39; =&gt; $ row [&#39; saleKal&#39;]));         while($ sale = $ stmt-&gt; fetch()){             echo&#39;&lt; option value =&#34;&#39;。$ sale [&#39; saleKal&#39;]。&#39;&#34;&gt;&#39;。$ sale [ &#39; saleKal&#39;]&#39;&LT; /选项&GT;&#39 ;;         }     } catch(PDOException $ e){         echo $ e-&gt; getMessage();     }     ?&GT; &LT; /选择&GT; 然后我有一个输入字段,我需要根据所选内容填充一个值。这些值位于数据库的同一行,所以我最初的想法是很容易说:&#34;当选择X行时,回显Y&#34;但由于它是一个while循环,它只会回显很多输入字段。 任何工作或我在这里与while循环完全错误? 希望我解释这一点并事先感谢任何答案:) 回答: &lt; select id =&#34; saleName&#34;类=&#34;管理内容选&#34;平变化=&#34; changeFunc()&#34;&GT; &lt; option value =&#34;&#39;。$ sale [&#39; saleNr&#39;]。&#39;&#34;&gt;&#39;。$ sale [&#39; saleKal& #39;]&#39;&LT; /选项&GT;&#39 ;; 然后添加了一个建议的功能: function changeFunc(){     var x = document.getElementById(&#34; selectID&#34;)。value;     document.getElementById(&#34; inputID&#34;)。value = x; } 感谢所有的答案!

3 个答案:

答案 0 :(得分:0)

您必须决定应用程序的哪个部分负责检索匹配值。有三种方法可以实现您的目标:

  1. 将所选值发送回服务器,让服务器检索相应的值并在新页面上呈现。
  2. 将所有可能的值渲染到JavaScript数组中,并将JavaScript代码段放入应用程序中,该代码段从此数组中检索相应的值并将其放入文本字​​段中。
  3. 构建一个AJAX应用程序,它将在后台将所选值发送回服务器,检索该值,然后在不重新加载页面的情况下将其显示给用户。
  4. 在所有这三种情况下,您都需要一些方法来触发操作。通过在选择框旁边添加一个按钮或通过JavaScript添加onChange事件。

答案 1 :(得分:0)

您可以使用jQuery

$('.admin-content-select').change(function () {
        var content = $(this).val();
        if(content == 'A')
        {
            $('#id_of_input').val('A is selected');
        }
        else if(content == 'B')
        {
            $('#id_of_input').val('B is selected');
        }...
    });

答案 2 :(得分:0)

如果您不想进行ajax来电,请使用jquery

执行以下操作

将您的回音更改为

echo '<option value="'.$sale['saleKal'].'" data-value="'.$sale['saleNr'].'">'.$sale['saleKal'].'</option>';

将此jquery添加到js文件

$('.admin-content-select').on('change', function(){
   var dataValue = $('option:selected', this).attr('data-value');//getting the value from the attribute
   $('#your_input_id').val(dataValue);//add the value to input box
});