我正在使用JQuery UI自动填充与ASP.NET文本框来填充标签以及值。这里是我从ajax调用映射数据的地方:JQuery UI自动完成替换标签的值选择
success: function (data) {
response($.map(data, function (item) {
return {
label: item.label,
value: item.value
}
}));
}
标签是文本,值是用于标识该行的数字。我的问题是,当用户选择一个选项时,文本框将用该值替换标签。因此,如果他们选择'John Smith',那么文本框会从'John Smith'更改为'1234'等。我如何操作select事件以将文本保留在文本框中?任何帮助表示赞赏。谢谢!
这里是我的aspx页面的更全面的观点:
<div class="ui-widget">
<asp:TextBox ID="txbSearchKeyword" runat="server" Columns="50" />
</div>
<asp:HiddenField ID="selectedRecordId" runat="server" />
和Jquery的:
(function() {
$("#txbSearchKeyword").autocomplete
({
source:
function (request, response) {
$.ajax({
type: "POST",
url: "AutoComplete.asmx/GetAutoCompleteList",
contentType: "application/json; charset=utf-8",
data: JSON.stringify({ keywordStartsWith: request.term }),
dataType: "json",
success: function (data) {
response($.map(data.d, function (item) {
return {
label: item.label,
value: item.value
}
}));
}
});
},
minLength: 2
});
$("#txbSearchKeyword").autocomplete
({
select: function (event, ui) {
$('#selectedRecordId').val(ui.item.value);
DoSomethingwithdataAJAXfunction(ui.item.value);
}
});
})();
你可以发布剩余的jQuery和一些HTML吗?没有看到所有的代码就很难排除故障。 – 2012-04-19 16:06:17
没问题!请参阅我的编辑。 – Drew 2012-04-19 16:45:53