gpt4 book ai didi

jquery - 检索 jQuery 自动完成字段

转载 作者:行者123 更新时间:2023-12-01 01:05:33 27 4
gpt4 key购买 nike

我正在使用 jQuery 自动完成插件,并连接了一个输入字段,以便在输入文本时从后端数据库检索值,然后可以选择该文本。
然后,我有第二个输入字段,我以类似的方式连接了它,但是我想将第一个输入字段的值作为自动完成 ajax 调用中的查询字符串参数传递,以便可以过滤自动完成结果。
我尝试使用第一个输入字段的 .val() 方法,但这似乎总是返回空字符串,除非我允许表单回发。我也尝试过仅使用 getElementById('xxx').value 但这会返回空值。
有什么方法可以检索在第一个字段中选择的动态值,以便我可以将其传递到对服务器的 jQuery ajax 调用中?
为了简洁起见,删除了一些代码:

<% 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>
<% } %>

$('input[name=Make]').val() 部分始终返回空值,即使已选择一个值。

我刚刚开始使用 jQuery 和 MVC,因此我们将不胜感激。

最佳答案

您需要使用 extraParams 函数:

$("#Make").autocomplete(url, {
extraParams: {
yourValue: function() { return $("input[name=Make]").val(); }
}
});

然后,这将在 HttpContext 中传递到您的目标。

可以按如下方式将其拉出:

string valueToUse = context.Request.QueryString["yourValue"];

来自 jQuery 自动完成 Documentation :

Often one autocompleted field depends on the value of another field. In that case, the extraParams option can provide the necessary dynamic parameter

当您构建静态字符串时,您当前的代码不起作用。您需要使用一个函数来动态返回您感兴趣的输入字段的值。

关于jquery - 检索 jQuery 自动完成字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1748990/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com