2016-03-01 73 views
2

我試圖將一個文本框的選定值分配給另一個文本框。我正在使用下面的腳本。當我在Firefox瀏覽器控制檯中檢查時,我注意到狀態變量(c_search.php?state)沒有任何價值。將一個文本框選定值分配給另一個JQuery自動完成

請讓我知道我需要用腳本做些什麼改變。

<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

執行'$( '#Statename的')的聲明。VAL()'是你結合'#部分cityname'。當爲城市名稱啓動自動填充事件時,您確定該州名稱具有文本嗎? – ElGavilan

+0

是的,我可以輸入並從狀態名文本框中選擇狀態。 –

回答

1

我認爲你正在尋找像這 -

而且你輸入字段聲明看起來怪異me.Keep記住,你不應該DOM多次加載像你現在正在做的方式autocompletechange變化的方法。

應該

<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 
    }); 
} 
+0

如何在上面的腳本中聲明search.php和c_search.php網址?你能否請澄清一些更多的細節。 –

+0

您創建一個單獨的函數,您將this.value作爲參數傳遞,並使用此傳遞值在此處寫入自動完成。 –

+0

我是jQuery新手,所以目前我想保持狀態和城市功能分開。但是我仍然無法理解你的代碼,並在我的代碼中進行必要的更改,以便它能夠正常工作。 Ty ... –

相關問題