Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/409.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 正在使用多个值搜索datatable,但未返回完全匹配_Javascript_Jquery_Datatables - Fatal编程技术网

Javascript 正在使用多个值搜索datatable,但未返回完全匹配

Javascript 正在使用多个值搜索datatable,但未返回完全匹配,javascript,jquery,datatables,Javascript,Jquery,Datatables,我正在尝试使用datatable中的下拉选项筛选多个值,它看起来如下所示: $(文档).ready(函数(){ var table=$(“#示例”).DataTable({ “订单”:[1,“asc”], //“长度菜单”:[[100200500,-1],[100200500,'All'], “页面长度”:-1, “长度变化”:错误, “bFilter”:“false”, “可搜索”:错误, 是的, “bPaginate”:错误, “bInfo”:假 }); var alreadySelect

我正在尝试使用datatable中的下拉选项筛选多个值,它看起来如下所示:

$(文档).ready(函数(){
var table=$(“#示例”).DataTable({
“订单”:[1,“asc”],
//“长度菜单”:[[100200500,-1],[100200500,'All'],
“页面长度”:-1,
“长度变化”:错误,
“bFilter”:“false”,
“可搜索”:错误,
是的,
“bPaginate”:错误,
“bInfo”:假
});
var alreadySelectedArr=[];
$('.filterRow th')。每个(函数(i){
alreadySelectedArr[i]=[];
var title=$(this.text();
var select=$('All
  • 全选 .appendTo($(this.empty()); 让includedArr=[]; 设colData=table.column(i).data().unique().sort(函数(a,b){返回a-b}).each(函数(d,j){ 如果(d!=“”){ var cell=table.column(i).nodes().toArray().find(f=>f.innerHTML.trim()==d); var searchValue=$(单元格).attr(“数据搜索”); alreadySelectedArr[i]。推送(searchValue); $('multiSelectMatrixCol'+i).append(''+d+''); select.find('ul').append(“
  • “+d+”
  • ”); } }); 设$all=$('#all'+i); $all.change(函数(){ 如果($(this).is(':checked')){ $('.checkbox col-'+i).prop('checked',true); }否则{ $('.checkbox col-'+i).prop('checked',false); } }); 选择.find('.dropdown menu a input.other复选框')。打开('change',函数(e){ var lenchk=$(this.closest('ul').find('other checkbox:checkbox'); var lenchkChecked=$(this).closest('ul').find('.other复选框:checkbox:checked'); if(lenchk.length==lenchkChecked.length){ $(this).closest('ul').find('selectAll:checkbox').prop('checked',true); }否则{ $(this).closest('ul').find('selectAll:checkbox').prop('checked',false); } }); 选择.查找('.下拉菜单a输入[type=“checkbox”]')。打开('change',函数(e){ var术语=$(此).laxest(“li”).attr(“数据值”); var idx=$.inArray(术语,alreadySelectedArr[i]); 让行动=推动; 设selectedArr=[]; 让selectedTextArr=[] $('input[name=“checkedVal'+i+'[]”]:checked')。每个(函数(){ 选择arr.push(escapeRegExp(this.value)); 选择dextarr.push($(this.parent('label').attr('title')); }); 让我们选择BoxText=“全部”; 让我们选择boxhovertext=“全部”; 如果(selectedTextArr.length>0){ if($(this).closest('ul').find('.selectAll:checkbox').prop('checked')){ 表.第(i)列.search(“”).draw(); 选择BoxText='All'; selectBoxHoverText=selectBoxText; }否则{ selectBoxText=selectedTextArr[0]+“…”; selectBoxHoverText=selectedTextArr.join(); } } 设$mst=$('#mst'+i); $mst.html(selectBoxText); $mst.closest('button').attr('title',selectBoxHoverText); if(!$(this).closest('ul').find('selectAll:checkbox').prop('checked')){ table.column(i).search(“^”+selectedArr.join(“|”)+“$”,true,false,true.draw(); } }); }); } ); 函数escapeRegExp(字符串){ 返回字符串.replace(/[.*+?^${}()\[\]\\]/g,\\$&'); }
span.multiselect native select{position:relative}span.multiselect-native-select{border:0!重要;clip:rect(0 0 0 0 0 0)重要;高度:1px!重要;边距:-1px-1px-1px-3px!重要;溢出:隐藏!重要;填充:0!重要;位置:绝对!重要;宽度:1px!重要;左侧:50%;顶部:30px}.multiselect容器{位置:绝对;列表样式类型:无;边距:0;填充:0}。多选容器。输入组{边距:5px}。多选容器。多选重置。输入组{宽度:93%}。多选容器>li{填充:0}。多选容器>li>a.multiselect-all标签{字体重量:700}。多选容器>li.multiselect-group标签{margin:0;padding:3px20px;height:100%;font-weight:700}。multiselect-container>li.multiselect-group-clickable标签{cursor:pointer}。multiselect-container>li>a{padding:0}。multiselect-container>li>a>标签{margin:0;height:100%;cursor:pointer;font-weight:400;padding:3px20px 3px 40px}.multiselect container>li>a>label.checkbox.multiselect container>li>a>label.radio{margin:0}.multiselect container>li>a>label>input[type=checkbox]{margin bottom:5px}.btn group>btn组:第n个子(2)>.multiselect.btn{边框左上半径:4px;边框左下半径:4px}.form inline.multiselect container label.checkbox.form inline.multiselect container label.radio{padding:3px 20px 3px 40px}.form inline.multiselect container li a label.radio输入[type=radio]{margin left:-20px;margin right:0}

N
10
1.
01
10
20
N
2.
table.column(i).search("^(" +selectedArr.join('|')  + ")$", true, false, true).draw();