На моем сайте Drupal 7 у меня есть страница обзора продукта, созданная с помощью Views.На этой странице у меня есть несколько флажков, которые можно нажимать в любом порядке.Для каждого установленного флажка соответствующий тег копируется в поле ввода текста.Это текстовое поле затем используется в качестве поля поиска для плагина jQuery Quicksearch.(Я заимствовал эту идею у здесь , но я использую новую версию плагина от deuxhuithuit).
Поскольку эти флажки можно нажимать в любом порядке, теги в поле поиска добавляютсяв любом порядке.
У меня тогда есть большое количество элементов, содержащих продукты, где каждый продукт имеет текстовое поле тега, где число терминов тега может быть введено через пробел, в зависимости от характеристикthe products.
Есть ли способ заставить плагин Quicksearch принимать эти условия в любом порядке с помощью опций prepareQuery и / или testQuery?Если так, как это сделано?Я потратил много часов, пытаясь найти примеры того, как это сделать.
Если это невозможно, я думаю, что единственный вариант - создать функцию, которая будет сортировать теги в определенном фиксированном порядке вполе поиска, а затем всегда вводите термины тегов в правильном порядке для каждого продукта ...
В любом случае, вот как сейчас выглядит установка:
$('#searchfield').quicksearch('.views-column .views-field-field-soktaggar', {
'delay': 100,
'selector': 'div.searchtags',
'loader': 'span.loading',
'noResults': '#noresults',
'bind': 'keyup',
'show': function () {
$(this).parent('.views-column').removeClass('hide');
$(this).parent('.views-column').addClass('show');
},
'hide': function () {
$(this).parent('.views-column').removeClass('show');
$(this).parent('.views-column').addClass('hide');
},
'prepareQuery': function (val) {
return new RegExp(val, "i");
},
'testQuery': function (query, txt, _row) {
console.log('query: ' + query + ' txt: ' + txt + ' _row: ' + _row);
return query.test(txt);
}
});