Я хочу создать систему фильтров, в которой будут отображаться только статьи с именем класса, равным выбранному флажковому значению. Пользователь может выбрать несколько cb, и результаты должны быть только этими статьями.Показать только элемент с именем класса, равным нескольким выбранным значениям флажка jQuery
Я знаю, как показать статью с тем же выбранным значением флажка, но когда выбрано несколько, статья, которая не содержит одного из этих значений cb, все еще отображается, поэтому я попытался сделать ее более умной. Пока не повезло.
EDIT Ссылка: http://strosslenet.nl/demo/ - изменил ссылку, чтобы другие могли выглядеть.
код JQuery:
$("#filters :checkbox").click(function() { // if click on a checkbox
$(".widget-lijst article").hide(); // hide all the items first
var valCB = $(this).val() // value of the checkbox;
$("#filters :checkbox:checked").each(function() {
var valObj = $("." + $(this).val()); // value of the object
var $allClasses = valObj.attr('class').split(' '); // splits every class in a object
console.log(valObj);
for(var i=0; i < $allClasses.length; i++) {
if($allClasses == valCB) {
console.log('true');
} else {
console.log('false');
}
}
});
});
HTML код:
<ul id="filters">
<li>Type
<ul>
<li><input type="checkbox" value="category-sc" id="sc" /><label for="category-sc">Site content</label></li>
<li><input type="checkbox" value="category-va" id="va" /><label for="category-va">Visitor accelerator</label></li>
<li><input type="checkbox" value="category-ad" id="ad" /><label for="category-ad">Ad only</label></li>
</ul>
</li>
</ul>
Элементы создаются Wordpress посты.
Ajaxshowtime имеет Classe «категория-SC»
Babes Panorama имеет класс «категория-ва»
Бомонд имеет как
Так идеальная ситуация была бы, что, когда и посетителей акселератор и содержание сайта выбраны, только Бомонд покажет ,
Ничего себе, похоже, работает! Я собираюсь добавить дополнительные сообщения и параметры фильтра, чтобы узнать, продолжает ли он работать. К сожалению, я могу сделать это через несколько часов, но я обязательно вернусь и приму ваш ответ. – Enginovic
Да прекрасно работает, большое спасибо Пит – Enginovic
Добро пожаловать, рад, что я мог бы помочь :) – Pete