Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/427.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 使用<;选择多个>;过滤div_Javascript_Jquery_Html - Fatal编程技术网

Javascript 使用<;选择多个>;过滤div

Javascript 使用<;选择多个>;过滤div,javascript,jquery,html,Javascript,Jquery,Html,说我喜欢: <div class="numbers one two three">...</div> <div class="numbers one three five">...</div> <div class="numbers two four six">...</div> <div class="numbers one two four">...</div> 但是对于多选,我该如何操作呢?您

说我喜欢:

<div class="numbers one two three">...</div>
<div class="numbers one three five">...</div>
<div class="numbers two four six">...</div>
<div class="numbers one two four">...</div>
但是对于多选,我该如何操作呢?

您需要按类名组合进行div:

$('filterNumber')。在('change',function(){
var number=$(this.val();
变量classNames='.'+number.join('.');
$(“.numbers”).hide().filter(classNames.show();
});
.numbers{display:none;}

一个
两个
三
四
五
六
123
135
246

一二四
您可以检查首先检查的所有值,然后运行每个()检查值,然后使用过滤器显示所需的值

$('#filternumbers').on('change', function () {
    $(".numbers").hide();
    $('#filternumbers option:selected').each(function() {
        var number = $(this).val();
        var classNames = '.' + number;
        $(".numbers").filter(classNames).show();
    });

});

请参考JSFIDLE

他正在使用multi-select,因此我认为他希望在使用多个选项时进行处理selected@ChaitanyaGadkarijQuery透明地处理多重选择,在本例中,
val()
返回一个选择数组。用我的演示试用一下。我不想把它们隐藏在页面加载中。它们都应该在页面加载时可见。但是,当用户决定“过滤”结果时,应该应用过滤器是的,它可以工作,只需较少的代码,感谢您增加了我的知识:)@D-Day:just remove
.numbers{display:none;}
$('#filternumbers').on('change', function () {
    var number = $(this).val();
    $(".numbers").hide();
    $(".numbers").hasClass(number).show();
});
$('#filternumbers').on('change', function () {
    $(".numbers").hide();
    $('#filternumbers option:selected').each(function() {
        var number = $(this).val();
        var classNames = '.' + number;
        $(".numbers").filter(classNames).show();
    });

});