Я создаю функцию поиска для художественной галереи, и мои категории — «Художники» и «Выставки». Я хочу показать результаты из одной или обеих категорий. Моя проблема в том, что результаты отображаются только тогда, когда поисковый запрос охватывает результат в обеих категориях.
Мой сценарий предложений использует поисковый запрос для запроса двух разных таблиц базы данных. Я форматирую и добавляю результаты в один массив JSON со строками для ["id"], ["value"], ["label"] и ["category"].
Итак, по поисковому запросу CORN результаты могут быть следующими:
Код: Выделить всё
{ label: "Christopher Corner", category: "Artists" },
{ label: "New Pictures From Cornwall", category: "Exhibitions" },
{ label: "Cornie Collins", category: "Artists" },
Я новичок в jQuery и пользовательском интерфейсе jQuery и пытаюсь понять, где будет логика выбора элемента списка из любой категории, а не всех из них.
Я отредактировал и добавил свой код. Это файл внутренних предложений — search_suggestions.php:
Код: Выделить всё
Код: Выделить всё
.ui-autocomplete-category {
font-weight: bold;
padding: .2em .4em;
margin: .8em 0 .2em;
line-height: 1.5;
}
$.widget( "custom.catcomplete", $.ui.autocomplete, {
_create: function() {
this._super();
this.widget().menu( "option", "items", "> :not(.ui-autocomplete-category)" );
},
_renderMenu: function( ul, items ) {
var that = this,
currentCategory = "";
$.each( items, function( index, item) {
var li;
if ( item.category != currentCategory ) {
ul.append( "[*]" + item.category + "" );
currentCategory = item.category;
}
li = that._renderItemData( ul, item );
if ( item.category ) {
li.attr( "aria-label", item.category + " : " + item.label );
}
});
}
});
$(function() {
$( "#searchInput" ).catcomplete({
minLength: 2,
source:'search_suggestions.php'
});
});
Код: Выделить всё
Подробнее здесь: https://stackoverflow.com/questions/318 ... categories
Мобильная версия