我正在尝试使用JQuery的AutoComplete功能来更新ASP.NET网页上的多个字段。单个文本框功能完美,但我无法弄清楚如何在用户选择后更新页面上的多个文本框。
我在这里已经阅读了很多建议,我需要实现一个结果处理程序,但是我的intellisense没有显示作为一个选项,IE我得到一个JS错误,说该对象不支持这个方法。 / p>
我正在链接到jquery-1.4.2.min.js和jquery-ui-1.8.5.custom.min.js
这是我的代码:
$(function () {
$("#Street1").autocomplete({
source: function (request, response) {
$.ajax({
url: "/address/FindAddress", type: "POST", dataType: "json",
data: { startAddress: request.term },
success: function (data) {
response($.map(data, function (item) {
return { label: item.DisplayText, value: item.ValueText, id: item.ID }
}))
}
})
} /* End source: function */
})
.result(function (event, data, formatted) {
$("#Street2").val("test");
})
/* end Autocomplete */
}); /* Function */
答案 0 :(得分:4)
在这种情况下,您需要select
handler,如下所示:
$("#Street1").autocomplete({
source: function (request, response) {
$.ajax({
url: "/address/FindAddress", type: "POST", dataType: "json",
data: { startAddress: request.term },
success: function (data) {
response($.map(data, function (item) {
return { label: item.DisplayText, value: item.ValueText, id: item.ID }
}));
}
});
},
select: function( event, ui ) {
$("#Street2").val(ui.item.label); //or ui.item.value
}
});
我不确定您是否想要label
,value
或id
,只需使用ui.item.whatever
即可。使用select
,无论选择何种值,您都可以填充#Street2
字段。
答案 1 :(得分:2)
查看此示例的来源,它正是您想要的(查看select方法):http://jqueryui.com/demos/autocomplete/#custom-data
另外,它是JavaScript,不依赖智能感知。
编辑:我粘贴了错误的链接