Я пытался выяснить, как сделать это правильно, и, похоже, не могу заставить его работать.
Я хочу использовать jQuery, чтобы по существу выбирать и выбирать то, что я хочу показать на странице.Я посмотрел и попытался найти какой-нибудь сценарий, какой-то сработавший, но не совсем так, как я хотел.
На странице будут использоваться флажки в качестве «тегов», скажем, искусства, компьютеры, здоровье, видеоигры
<div class="tags">
<label><input type="checkbox" class="arts" /> Arts </label>
<label><input type="checkbox" class="computers" /> Computers </label>
<label><input type="checkbox" class="health" /> Health </label>
<label><input type="checkbox" class="video-games" /> Video Games </label>
</div>
Затем на странице будут результаты, и к каждому результату будут прикреплены теги.
<ul class="results">
<li class="arts computers">
Result 1
</li>
<li class="video-games">
Result 2
</li>
<li class="computers health video-games">
Result 3
</li>
<li class="arts video-games">
Result 4
</li>
</ul>
Я хочу иметь возможность нажимать на картинки и видеоигры, и это будетотобразите все, что имеет как искусство, так и видеоигры, так что результат 4. Или можно просто выбрать компьютеры и получить результаты 1 и 3.
Я думал, что мог бы сделать что-то вроде
$('.tags input').click( function() {
$('.results > li').hide();
//For each one checked
$('input').is(':checked').each( function() {
//Display that result
$('.results li').hasClass($(this).attr('class')).show();
});
});
но это не работает, оно просто скрывает все, но затем не возвращается, чтобы показать все остальное.Я знаю, что логика полностью неверна, я не думаю, что я должен использовать каждый таким образом?Может быть, использовать его для захвата всех классов в массиве, а затем показать li, которые имеют эти классы?
Любые идеи?