Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/445.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.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 通过multiselect隐藏/显示表格行_Javascript_Jquery_Html_Twitter Bootstrap 3_Bootstrap Multiselect - Fatal编程技术网

Javascript 通过multiselect隐藏/显示表格行

Javascript 通过multiselect隐藏/显示表格行,javascript,jquery,html,twitter-bootstrap-3,bootstrap-multiselect,Javascript,Jquery,Html,Twitter Bootstrap 3,Bootstrap Multiselect,目前,我正在使用bootstrap multiselect插件对表进行筛选。我很难让它正常工作。我想根据multiselect中的选定值显示/隐藏表行。例如,如果行的值为已激活,则只应显示具有激活值的行,其他行将被隐藏。如果我选择了激活和停用,则将显示值为激活和停用的行。如果我选择了所有选中的,则应显示所有行。在此处检查我的代码: $('#custom-select').multiselect({ includeSelectAllOption: true, onCha

目前,我正在使用bootstrap multiselect插件对表进行筛选。我很难让它正常工作。我想根据multiselect中的选定值显示/隐藏表行。例如,如果行的值为已激活,则只应显示具有激活值的行,其他行将被隐藏。如果我选择了激活和停用,则将显示值为激活停用的行。如果我选择了所有选中的,则应显示所有行。在此处检查我的代码:

$('#custom-select').multiselect({
       includeSelectAllOption: true,
       onChange: function(option, checked) {

       var selected = [];

       $('#custom-select option:selected').each(function() {
           selected.push($(this).val());
       });

       console.log(selected);

       $.each(selected, function(i, val) {   

          $('#custom-table tr > td:not(:contains('+val+'))').closest('tr').hide();
          $('#custom-table tr > td:contains('+val+')').closest('tr').show();

       //console.log(val);
       });

       }
   });

我目前在

上的工作是在每个循环中隐藏表行
tr
。因此,上一次循环运行时,它隐藏了它应该显示的行。在执行
show
之前,将其从循环中取出并隐藏所有行

$(document).ready(function() {

   $('#custom-select').multiselect({
       includeSelectAllOption: true,
       onChange: function(option, checked) {

           var selected = [];

           $('#custom-select option:selected').each(function() {
               selected.push($(this).val());
           });

           $('#custom-table tr').hide();  // <-----

           $.each(selected, function(i, val) {   
               $('#custom-table tr > td:contains('+val+')').closest('tr').show();
           });
       }
    });
});
$(文档).ready(函数(){
$(“#自定义选择”).multiselect({
includeAlloption:true,
onChange:函数(选项,选中){
所选var=[];
$(“#自定义选择选项:选定”)。每个(函数(){
已选择.push($(this.val());
});

$(“#custom table tr').hide();//这可能会有帮助:esp本页最后一个JSFIDLE。@vanburenx了解这个示例,但它使用的是类而不是单元格值。我从来没有想过这会很容易。谢谢@Patel@myRM这对我们中最好的人来说都是如此。干杯!:)演示程序工作不正常。请检查并更新它。