在JQuery Auto Complete中将一个文本框选定值分配给另一个文本框

时间:2016-03-01 13:39:03

标签: javascript jquery

我正在尝试将一个文本框的选定值分配给另一个文本框。我正在使用下面的脚本。当我在Firefox浏览器控制台中检查时,我注意到状态变量(c_search.php?state)没有值。

请让我知道我需要对脚本进行哪些更改。

<link rel="stylesheet" href="//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css">
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
<script>
    $(function() {
        $( "#statename" ).autocomplete({
          source: 'search.php'
        });
    });
    $(function() {
        $( "#cityname" ).autocomplete({
            source: 'c_search.php?state='+$('#statename').val()
        });
    });
</script>

<form>
<div class="ui-widget">
    <label for="statename">State: </label>
    <input id="statename">

    <label for="cityname">City: </label>
    <input id="cityname">
</div>
</form>

1 个答案:

答案 0 :(得分:1)

我认为您正在寻找像这样的自动完成更改方法 -

你的输入字段声明对我来说也很奇怪。请记住,你不应该像现在这样多次加载DOM。

应该是

<input type="text" id="statename" class="inputLarge" />

自动填充更改事件

$(document).ready(function(){

$('#statename').on('autocompletechange change', function () {

    $("[name='some text box']").val(this.value);
    PopulateCitybyState(this.value);    

}).change();
});

function PopulateCitybyState(statename){
   $( "#cityname" ).autocomplete({
        source: 'c_search.php?state='+ statename
    });
}