Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 用于显示/隐藏元素的JQuery筛选器复选框_Javascript_Jquery_Html_Css - Fatal编程技术网

Javascript 用于显示/隐藏元素的JQuery筛选器复选框

Javascript 用于显示/隐藏元素的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');

我有下面的代码,它通过使用元素上的样式将元素隐藏在JQuery中来过滤元素。请参阅我的JSFiddle()

我的问题是,我需要它只显示样式中列出了所有选中过滤器的元素,而不显示任何选中的元素

例如,如果我选择“red”和“Coat”,它应该只显示包含两个过滤器的框A。相反,它显示的是BOXs 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);

是的,看起来和我要找的一模一样,谢谢