如何根据从第一个下拉列表自动更改的第二个下拉列表更改第二个文本框值?

时间:2016-01-08 06:50:56

标签: javascript php jquery html

我有2个下拉菜单,当我更改第1个时,第2个的值会相应更改。 还有2个文本框,这两个下拉列表各有1个。

当第一个下拉列表更改时,我运行一个AJAX并将mySQL中的值显示到第一个文本框中。正如我所说,第二次下拉的价值也会改变。

我的问题是如何根据第一个下拉列表中自动更改的第二个下拉列表更改第二个文本框值?

这是我在更改第一个下拉列表时调用的内容

    function getVariety(seed_name) {        


    var strURL="findVariety.php?seed_name="+seed_name;
    var req = getXMLHTTP();

    if (req) {

        req.onreadystatechange = function() {
            if (req.readyState == 4) {
                // only if "OK"
                if (req.status == 200) {                        
                    document.getElementById('seed_variety_show').innerHTML=req.responseText;            

                } else {
                    alert("There was a problem while using XMLHTTP:\n" + req.statusText);
                }
            }               
        }           
        req.open("GET", strURL, true);
        req.send(null);
    }       
}

findVariety.php

----mysql config variables------
.
.
<select  class="form-control c-square c-theme input-lg" name="seed_variety">
<option value="">Επίλεξε</option>
<? while($row=mysql_fetch_array($result)) { ?>
<option value="<?=$row['sv_variety_name']?>"><?=$row['sv_variety_name']?></option>
<? } ?>
</select>

1 个答案:

答案 0 :(得分:0)

  

使用value属性而不是innerHTMLinnerHTML用于将html内容推送到元素,而要设置form / inputselect元素的值,请使用value }

document.getElementById('seed_variety_show').value=req.responseText;

要更改第二个文本框的值,请在第二个onchange上使用select侦听器。

在动态添加选择时,您需要使用event delegation

试试这个:

$('body').on('change', '[name="seed_variety"]', function() {
  alert(this.value);
});