我使用jQuery自動完成插件,並連接了一個輸入字段以從後端數據庫檢索值,隨後可以選擇文本。
然後我有一個第二個輸入字段,我用類似的方式連接了,但是我想在自動完成ajax調用中將第一個輸入字段的值作爲querystring參數傳遞,以便可以過濾自動完成結果。
我已經嘗試使用第一個輸入字段的.val()方法,但這似乎總是返回一個空字符串,除非我允許表單回發。我也嘗試過使用getElementById('xxx')。value,但是這返回一個空值。
有什麼辦法可以檢索在第一個字段中選擇的動態值,所以我可以將它傳遞給我的jQuery Ajax調用服務器?下面一些爲了簡潔,刪除
代碼:檢索一個jQuery自動完成字段
<% using (Html.BeginForm()) {%>
<script language="javascript">
$(document).ready(function(){
$("#Make").autocomplete('/MyController/AutoCompleteMake', {
dataType: 'json',
parse: function(data) {
var rows = new Array();
for (var i = 0; i < data.length; i++) {
rows[i] = { data: data[i], value: data[i], result: data[i] };
}
return rows;
},
formatItem: function(row) {
return row;
},
delay: 40
});
$("#Range").autocomplete('/MyController/AutoCompleteRange?Make=' + $('input[name=Make]').val(), {
same as above .......
});
});
</script>
<fieldset>
<legend>Fields</legend>
<p>
<label for="Make">Make:</label>
<%= Html.TextBox("Make") %>
<%= Html.ValidationMessage("Make", "*") %>
</p>
<p>
<label for="Range">Range:</label>
<%= Html.TextBox("Range") %>
<%= Html.ValidationMessage("Range", "*") %>
</p>
<% } %>
這是$(「輸入[名稱=製作]」),其常是返回即使一個已經選定的空值VAL()的一部分。
我剛剛開始使用jQuery和MVC,所以任何幫助將不勝感激。
+1,你是對的,我完全和災難性地被誤解了。 – karim79 2009-11-17 13:59:07
Karim :)不用擔心我們會盡最大努力! – GenericTypeTea 2009-11-17 14:00:39
現貨。這讓我在牆上停留了幾個小時。乾杯。 – 2009-11-17 14:08:22