Я использую автозаполнение JQuery UI с текстовым полем ASP.NET, чтобы заполнить метку, а также значение. Вот где я отображать данные из вызова Ajax:JQuery UI Autcomplete заменяет ярлык со значением по выбору
success: function (data) {
response($.map(data, function (item) {
return {
label: item.label,
value: item.value
}
}));
}
Этикетка является текстом, значение представляет собой число, используемое для идентификации этой строки. Моя проблема заключается в том, когда пользователь выбирает параметр, текстовое поле заменяет метку значением. Поэтому, если они выбирают «Джон Смит», текстовое поле меняется с «Джон Смит» на «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 здесь? Это трудно устранить, не видя весь код. –
Нет проблем! см. мои правки. – Drew