Категория автозаполнения jQuery UI Как пропустить заголовки категорий

У меня есть работающее поле автозаполнения в моем веб-приложении, и я ищу способ повысить удобство использования поля каким-либо автоматическим пропуск полей категорий при использовании клавиши со стрелкой для прокрутки доступных вариантов (после ввода частичного условия поиска).

Например, если пользователь начинает вводить «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);
        }
    });
9
задан Andrew Whitaker 6 June 2013 в 19:44
поделиться