У меня есть список продуктов, которые я показываю, и в настоящее время я работаю над функцией фильтрации, которая не использует ajax.
К каждому продукту прикреплена серия классов в зависимости от категории, к которой он относится. Так вот так:
<li class="f_all f_cat1 f_cat2">Product 1</li>
<li class="f_all f_cat1 f_cat3 f_cat_4">Product 2</li>
<li class="f_all f_cat4 f_cat5 f_cat6">Product 3</li>
Это означает, что многие продукты попадают в одну категорию.
Это параметры фильтра:
<table cellspacing="10">
<tr>
<td class="item" id="p_1">Category 1</td>
<td class="item" id="p_2">Category 2</td>
<td class="item" id="p_3">Category 3</td>
</tr>
</table>
У меня пока работает базовый фильтр, который позволяет мне фильтровать по одной категории, которая выглядит следующим образом:
function filterProd(filter){
$(".f_all").hide(); // first hide all products
$(".f_"+filter).show(); // show products only for this category
}
Тогда функция щелчка:
$("#p_1").click(function(){filterProd("cat1");});
$("#p_2").click(function(){filterProd("cat2");});
$("#p_3").click(function(){filterProd("cat3");});
Я знаю, что это не идеальный способ сделать это, но я просто ищу небольшое руководство.
Я пытаюсь добиться двух вещей после этого:
Когда опция нажата СНОВА, удалите этот фильтр из функции
Когда нажата другая опция, ДОБАВЬТЕ ее в фильтр
Я предполагаю, что это своего рода функция, которая принимает массив значений и т. Д., Но я довольно новичок в jquery и был бы признателен за любую помощь, которую я могу получить в этот момент.