我使用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