У меня есть работающее поле автозаполнения в моем веб-приложении, и я ищу способ повысить удобство использования поля каким-либо автоматическим пропуск полей категорий при использовании клавиши со стрелкой для прокрутки доступных вариантов (после ввода частичного условия поиска).
Например, если пользователь начинает вводить «an», автозаполнение покажет две категории с элементами в каждой. Пользователь хочет выбрать один из элементов в списке в разделе «Люди». Они используют клавишу со стрелкой для перемещения вниз по списку. В настоящее время этот код вставляет категории в результаты как элемент списка. При использовании клавиш со стрелками вы должны переместить их, чтобы выделить и выбрать результат. В любом случае приложение могло бы автоматически пропустить эти заголовки категорий?
$.widget( "custom.catcomplete", $.ui.autocomplete, {
_renderMenu: function( ul, items ) {
var self = this,
currentCategory = "";
$.each( items, function( index, item ) {
if ( item.category != currentCategory ) {
ul.append( "<li class='ui-menu-item ui-category'>" + item.category + "</li>" );
currentCategory = item.category;
}
self._renderItem( ul, item );
});
}
});
var data = [
{ label: "annk K12", category: "Products" },
{ label: "annttop C13", category: "Products" },
{ label: "anders andersson", category: "People" },
{ label: "andreas andersson", category: "People" },
{ label: "andreas johnson", category: "People" }
];
$( "#textfield" ).catcomplete({
source: data,
select: function(event, ui) {
window.location.hash = "id_"+escape(ui.item.id);
}
});