我有一系列行和复选框来筛选它们:
<ul>
<li><input id="type-A" type="checkbox" checked="checked"> <a href="/A">A</a></li>
<li><input id="type-B" type="checkbox" checked="checked"> <a href="/B">B</a></li>
<li><input id="type-C" type="checkbox" checked="checked"> <a href="/C">C</a></li>
<li><input id="type-D" type="checkbox" checked="checked"> <a href="/D">D</a></li>
<li><input id="type-E" type="checkbox" checked="checked"> <a href="/E">E</a></li>
<li><input id="type-F" type="checkbox" checked="checked"> <a href="/F">F</a></li>
</ul>
<table>
<tr class="A">filler</tr>
<tr class="B">filler</tr>
<tr class="A B">filler</tr>
<tr class="C D">filler</tr>
<tr class="A F">filler</tr>
<tr class="A E F">filler</tr>
<tr class="F">filler</tr>
<tr class="C D E">filler</tr>
<tr class="A B C D E F">filler</tr>
</table>
我想根据所选内容隐藏/显示行。目前,我正在使用以下代码(在此先前的问题的帮助下:使用“this”简化代码(简单的jQuery)):
$(function(){
$("input[id^='type-']").change(function() {
$("."+this.id.replace('type-','')).toggle(this.checked);
}).change();
});
每次单击框时切换显示内容,如果每行只有一个类别,那么效果非常好。但是实际上不是这样的。当前设置的方式是,单击的顺序会改变所显示的行。因此,我需要创建一个函数来检查哪些复选框被选中,并显示包含任何复选框的行。我不反对添加一个按钮来实现这一点。
如果你们能提供任何帮助(以及指向可以帮助我学习的资源的方向),我将不胜感激!