jQuery UI autocomplete имеет встроенную функциональность для настройки отображения результатов. Эта демонстрация показывает, как этого можно добиться, переопределяя метод _renderItem
атрибута данных «автозаполнение» внутри кода автозаполнения пользовательского интерфейса jQuery.
HTML
<label for="tags">Tags: </label><input id="tags" />
<div id="wrapper"></div>
JavaScript
$('#tags').autocomplete({
source: availableTags,
search: function(event, ui) {
// clear the existing result set
$('#wrapper').empty();
},
})
.data('autocomplete')._renderItem = function(ul, item) {
return $('<div class="element"></div>')
.data('item.autocomplete', item)
.append('<a href="#">' + item.label+ '</a>')
.appendTo($('#wrapper'));
};
CSS & (чтобы скрыть обычный контейнер)
.ui-autocomplete {
display:none !important;
}
Вы можете настроить каждый элемент , изменив разметку внутриметод .append()
в функции .data('autocomplete')
, и вы можете захотеть взглянуть на другие автозаполнения Events , если хотите дополнительно манипулировать результатами поиска <div id="wrapper">
, например, очистить список, если <input>
приобретает фокус.