【发布时间】:2015-10-02 03:42:41
【问题描述】:
您好,我想使用多个复选框制作一个 div 过滤器,这些复选框具有 div 类的值。 我的 js 正在比较这些值和类并显示相似的值。 我想组合这些复选框。例如,当勾选 glutenitoon 和 maidoton 时,不应显示只有 maidoton 或只有 glutenitoon 的元素。
这里是代码笔 http://codepen.io/anon/pen/yYgpda
编辑:解决方案在这里 > http://codepen.io/anon/pen/KdaGwM
<div id="filters">
<input type="checkbox" name="gluteeniton" value="gluteeniton" id="filter-gluteeniton">Gluteeniton
<input type="checkbox" name="laktoositon" value="laktoositon" id="filter-laktoositon">Laktoositon
<input type="checkbox" name="vahalaktoosinen" value="vahalaktoosinen" id="filter-vahalaktoosinen">Vähälaktoosinen
<input type="checkbox" name="maidoton" value="maidoton" id="filter-maidoton">Maidoton
<input type="checkbox" name="soijaton" value="soijaton" id="filter-soijaton">Soijaton
</div>
<div class="filtered-products">
<div class="element gluteeniton laktoositon maidoton">gluteeniton laktoositon maidoton</div>
<div class="element laktoositon maidoton">laktoositon maidoton</div>
<div class="element gluteeniton">gluteeniton</div>
<div class="element soijaton">Soijaton</div>
<div class="element maidoton soijaton">Maidoton Soijaton</div>
<div class="element maidoton">Maidoton</div>
<div class="element laktoositon">Laktoositon</div>
</div>
$(".element").hide();
$("#filters input").click(function() {
var checked = $("#filters input ").is(':checked');
if (checked) {
$("#filters :checkbox:checked").each(function() {
$("." + $(this).val()).show();
});
}
else {
$(".element").hide();
}
});
【问题讨论】: