Javascript 用于显示/隐藏元素的JQuery筛选器复选框
我有下面的代码,它通过使用元素上的样式将元素隐藏在JQuery中来过滤元素。请参阅我的JSFiddle() 我的问题是,我需要它只显示样式中列出了所有选中过滤器的元素,而不显示任何选中的元素 例如,如果我选择“red”和“Coat”,它应该只显示包含两个过滤器的框A。相反,它显示的是BOXs A&BJavascript 用于显示/隐藏元素的JQuery筛选器复选框,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我有下面的代码,它通过使用元素上的样式将元素隐藏在JQuery中来过滤元素。请参阅我的JSFiddle() 我的问题是,我需要它只显示样式中列出了所有选中过滤器的元素,而不显示任何选中的元素 例如,如果我选择“red”和“Coat”,它应该只显示包含两个过滤器的框A。相反,它显示的是BOXs A&B //filter files list function filterFilesList() { var rows = $('.file-row');
//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);
是的,看起来和我要找的一模一样,谢谢