У меня есть следующий jQuery код:
$(function () {
$("#txtResourceName").autocomplete({
source: function (request, response) {
$.ajax({
url: '/Demand/AutoComplete/',
data: "{ 'Type': 'ResourceName','SearchValue':'" + $('#txtResourceName').val() + "'}",
dataType: "json",
type: "POST",
contentType: "application/json; charset=utf-8",
success: function (data) {
response($.map(data, function (item) {
$('#txtPracticeArea').val(ui.item.Practice);
$('#txtGrade').val(ui.item.LGrade);
$('#txtResourceId').val(ui.item.Id);
return item.Descr;
}));
},
error: function (response) {
//alert(response.responseText);
},
failure: function (response) {
//alert(response.responseText);
}
});
},
minLength: 0
});
//to check if typed Resource Name is selected from auto-complete staffing dropdown or not
$("#txtResourceName").autocomplete({
change: function (event, ui) {
if ($('#txtResourceName').val().length > 0) {
if (ui.item) {
} else {
alert("Invalid Resource Name");
$('#txtResourceName').val("");
$("#txtResourceName").focus();
}
}
}
});
});
Значения других 3 текстовых полей, которые я хочу заполнить, также находятся в ответе на данные (автозаполнения, я передаю список объектов класса). Вышеописанным способом текстовые поля заполняются первым значением в списке всех значений автозаполнения, а не выбранным значением.
Итак, я попытался поместить код текстового поля в часть «select:» автозаполнение внутри этой части значений ui.item.Practice, ui.item.LGrade и ui.item.Id не существует.
Заранее спасибо.