Я искал твердо в течение нескольких часов, и я не могу понять, что мне нужно делать. Я использую более старую версию Autocomplete в пользовательском интерфейсе JQuery 1.8.16. Прежде чем спросить, я не могу его обновить. Я пытаюсь настроить пользовательский дисплей данных, поэтому я использую пример «пользовательских данных» из документации. Мой код правильно построен в формате, который ожидает пример, однако я добавил несколько других ключей, которые мне так нужны. Моя структура похожа на то, что я предоставил в этом jsBin. http://jsbin.com/zut/1/editJQuery UI Autocomplete select return undefined
Мне нужно переопределить функции выбора и фокусировки. Последующие примеры. У меня этот код определен для секции шаблона.
.data("autocomplete")._renderItem = function(ul, item) {
var template;
if (item.isActive === true) {
template = "<a>" + item.label + item.desc + item.status + "</a>";
} else {
template = "<a >" + item.label + item.desc + "<span class='inactive'>" + item.status
+ "</span></a>";
}
return $("<li>")
.append(template) // .append("<a>" + item.label + item.desc + "</a>")
.appendTo(ul);
};
},
это делает шаблон штрафа, однако я получаю «неопределенный» для «уй» паров в избранном и сосредоточиться конкретно «TypeError: ui.item не определен»
Я попытался изменить .data («autocomplete») в .data («ui-autocomplete») Это избавит вас от «TypeError: ui.item не определено», однако теперь все дополнительные данные шаблона исчезли, и я показываю только ярлыки.
Я положил его обратно, а затем испортил, используя ._renderItemData vs ._renderItem, и это приводит к тому же, что и выше. Исходная ошибка исчезла, однако весь лишний текст ушел.
Я нахожусь в убытке, и вся помощь будет принята с благодарностью! Я просто хочу отображать дополнительный пользовательский текст, сохраняя при этом значения выбора и фокусировки. Все «исправления», которые я нашел до сих пор, по-видимому, исправляют одну проблему, но нарушают все «пользовательские данные».
Я не могу выразить, насколько я хочу просто ударить себя с моим монитором компьютера прямо сейчас. Поговорите о том, чтобы смотреть на что-то WAAAAAAAY слишком долго. Спасибо, что полностью сделал трюк! – user2217623
Я тоже потратил слишком много времени на это. Благодаря! – MattParra