Можете ли вы сгруппировать селекторы jQuery с (немного более сложной) расширенной логикой?

Мы работаем над системой фильтров, в которой вы получаете группы вариантов, например:

Цвет Красный, синий, зеленый

Диапазон цен 0–5 фунтов стерлингов, 6–10 фунтов стерлингов, 11 фунтов стерлингов +

Марка Adidas, Nike, Converse

Каждый вариант представляет собой отдельный флажок. Мы фильтруем по следующей логике:

  • варианты ИЛИ из группы
  • присоединяются к тем, которые имеют И

Итак, если бы я должен был проверить красный, синий, 0-5 фунтов стерлингов, Nike и Converse, логика была бы быть:

(Красный ИЛИ Синий) И (0-5 фунтов стерлингов) И (Nike ИЛИ Converse)

У каждого флажка есть идентификатор. Я хочу создать селектор, используя приведенную выше логику, но я не уверен, как лучше всего это сделать в jQuery. Очевидно, что операторы AND просто добавляются, а операторы OR (или аналогичные) используют команды в этих селекторах, но это нарушит логику без какого-либо способа группировки, например:

$ ('(# red, # blue) (# price0to5) ( # nike, # converse) ')

Есть предложения или альтернативы?

5
задан ekad 29 April 2017 в 00:47
поделиться