JQuery过滤器复选框显示/隐藏元素
JQuery filter checkboxes to show / hide elements
我有下面的代码,通过在JQuery中使用元素的样式隐藏它们来过滤元素。查看我的JSFiddle(https://jsfiddle.net/vy41zwch/4/)。
我的问题是,如果我需要它只显示元素,在样式中列出的所有选中的过滤器,而不显示任何选中的元素。
例如,如果我选择"红色"answers"外套",它应该只显示BOX A,因为它包含两个过滤器。相反,它显示了方框A &b .
//filter files list
function filterFilesList() {
var rows = $('.file-row');
var checked = $("#filterControls :checkbox:checked");
if(checked.length){
rows.hide(200);
checked.each(function(){
$("." + $(this).val()).show(200);
});
} else {
rows.show();
}
}
$("#filterControls :checkbox").click(filterFilesList);
filterFilesList();
你需要创建一个选择器它是所有过滤器的组合
var selector = checked.map(function() {
return "." + $(this).val()
}).get().join('');
$(selector).show(200);
小提琴
相关文章:
- 在单击任何位置时隐藏元素,而不检查每次DOM单击
- JavaScript-在手机上不工作的情况下,在外部单击时隐藏元素
- 随时隐藏元素
- 根据特定条件使用ng显示/ng隐藏来显示/隐藏元素
- 隐藏元素直到加载完成(ng斗篷不是我需要的)
- 在具有类的元素中隐藏元素
- javascript()onclick隐藏元素-dos'我不在firefox工作
- JQueryHide()在按钮中使用元素时不会隐藏元素
- 使用Javascript取消隐藏元素
- 如果鼠标离开父对象,则隐藏元素
- 如何在jquery ajax成功html响应中找到输入隐藏元素
- 基于事件在循环中隐藏元素
- 渐进式增强-不使用CSS隐藏元素
- 隐藏元素后更新滚动条
- jQuery没有隐藏元素
- jQuery隐藏元素在使用CSS显示时保持隐藏状态
- 如何使用javascript在区域外单击时隐藏元素
- 如何在加载网页时隐藏元素
- JS:隐藏元素上的事件侦听器
- HTML 显示/隐藏元素 JS 不起作用