【发布时间】:2011-09-25 10:39:16
【问题描述】:
我一直在试图弄清楚如何正确执行此操作,但似乎无法使其正常工作。
我想使用 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();
});
});
但它不起作用,它只是隐藏了所有内容,然后不会回来显示其余部分。我知道逻辑完全错误,我认为我不应该以这种方式使用 each 吗?也许用它来抓取数组中的所有类,然后显示具有这些类的 li?
有什么想法吗?
【问题讨论】:
标签: php jquery mysql filter tags