Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.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 具有多个值的筛选表_Javascript_Jquery_Html - Fatal编程技术网

Javascript 具有多个值的筛选表

Javascript 具有多个值的筛选表,javascript,jquery,html,Javascript,Jquery,Html,我这里有一个代码,它是表数据的一个示例,我们可以对每列进行筛选,现在我想在一个具有多个值的状态字段中进行筛选,例如:如果我想打印已完成、正在进行和挂起的数据,那么该数据应该是唯一要打印的数据,我应该怎么做?请帮助 var$rows=$('tbody>tr'), $filters=$(“#filter_表输入”); $filters.on(“键控”,函数(){ var$i=$filters.filter(函数(){ 返回$.trim(此.value).length>0; }), len=一美元长

我这里有一个代码,它是表数据的一个示例,我们可以对每列进行筛选,现在我想在一个具有多个值的状态字段中进行筛选,例如:如果我想打印已完成、正在进行和挂起的数据,那么该数据应该是唯一要打印的数据,我应该怎么做?请帮助

var$rows=$('tbody>tr'),
$filters=$(“#filter_表输入”);
$filters.on(“键控”,函数(){
var$i=$filters.filter(函数(){
返回$.trim(此.value).length>0;
}),
len=一美元长度;
if(len==0)返回$rows.show();
var cls='.+$i.map(函数(){
返回这个.className
}).get().join(“,”);
$rows.hide().filter(函数(){
返回$('td',this.filter(cls).filter(函数)(){
var content=this.textContent,
inputVal=$i.filter('..+this.className).val();
返回content.toLowerCase().indexOf(inputVal.toLowerCase())>-1;
}).长度===长度;
}).show();
});

在此处输入以搜索
节目 年 省 市政当局/LGU 巴郎涯 项目 分配 地位 PA% 方案1 2012 省1 市政当局/LGU1 Barangay1 项目1 200000 完整的 100% 方案1 2013 省2 市政当局/LGU2 Barangay2 项目2 500000 不间断的 50% 方案3 2014 省3 市政当局/LGU3 Barangay3 项目3 6000000 暂停的 0% 方案4 2016 省4 市政当局/LGU4 巴兰盖4 项目4 1000000 取消 0%
在这里,您可以为
状态
过滤器中的关键字使用分隔符,并在通过此分隔符拆分后将值作为
数组
读取

以下代码使用空格作为分隔符,并根据多个值筛选状态栏:

let val = this.value;
$rows.hide().filter(function() {
  return $('td', this).filter(cls).filter(function() {
    var content = this.textContent,
      inputVal = $i.filter('.' + this.className).val();

    let vals = val.split(" ").map(function(v) {
      return v.toLowerCase();
    });
    return vals.some(function(v) {
      return content.indexOf(v) > -1;
    });
  }).length === len;
}).show();
注意:

这将仅用于
status
列,我在这里制作了一个完整的工作演示片段

演示:

var$rows=$('tbody>tr'),
$filters=$(“#filter_表输入”);
$filters.on(“keyup”,function()){
var$i=$filters.filter(函数(){
返回$.trim(此.value).length>0;
}),
len=一美元长度;
if(len==0)返回$rows.show();
var cls='.+$i.map(函数(){
返回这个.className
}).get().join(“,”);
如果(this.id!=“状态”){
$rows.hide().filter(函数()){
返回$('td',this.filter(cls).filter(function()){
var content=this.textContent,
inputVal=$i.filter('..+this.className).val();
返回content.toLowerCase().indexOf(inputVal.toLowerCase())>-1;
}).长度===长度;
}).show();
}否则{
设val=this.value;
$rows.hide().filter(函数()){
返回$('td',this.filter(cls).filter(function()){
var content=this.textContent,
inputVal=$i.filter('..+this.className).val();
设vals=val.split(“”).map(函数(v){
return v.toLowerCase();
});
返回VAL.some(函数(v){
返回内容。indexOf(v)>-1;
});
}).长度===长度;
}).show();
}
});

在此处输入以搜索
节目 年 省 市政当局/LGU 巴郎涯 项目 分配 地位 PA% 方案1 2012 省1 市政当局/LGU1