JQueryUI Autocomplete Select Event не работает
Я использую JQuery 1.4.2 и JQueryUI 1.8.5. Я знаю, что эта проблема не существует в последней версии, но мы не можем изменить версию JQuery & UI.
Я пытаюсь отобразить элементы автозаполнения в 2 строки.
1-я строка - Имя и 2-я строка - Адрес
Он показывает, как я хочу, в 2 строки, но когда я выбираю элемент, он показывает, что ui.item является нулевой ошибкой.
Код выглядит следующим образом:
$('#txtPractice').autocomplete({
source: function (request, response) {
$.ajax({
url: '/MyWebService.asmx/GetDataFromFreeText',
data: "{ 'name': '" + request.term + "'}",
dataType: "json",
type: "POST",
contentType: "application/json; charset=utf-8",
dataFilter: function (data) { return data; },
success: function (data) {
response($.map(data.d, function (item) {
return {
value: item.name,
id: item.id,
desc: item.address1
}
}))
},
});
},
delay: 0,
minLength: 2,
select: function (event, ui) {
$('#hdPracticeID').val(ui.item.id);
}
})
.data("autocomplete")._renderItem = function (ul, item) {
return $("<li>")
.append("<a>" + item.value + "<br>" + item.desc + "</a>")
.appendTo(ul);
};
}
Если я удаляю функцию рендеринга 2 строк, .data("autocomplete")...., она работает нормально, и элемент можно выбрать, но я получаю только 1 строку. Если я поставлю, когда элемент выбран, то ui.item is null, ошибка показывает. Я не мог найти способ удовлетворить оба моих требования.
Не могли бы вы помочь мне предложить лучшее решение? Благодарю.