Javascript 每柱过滤表
我这里有代码,过滤表不工作,然后我想与复选框的状态过滤器,我必须做什么?请帮助我Javascript 每柱过滤表,javascript,jquery,Javascript,Jquery,我这里有代码,过滤表不工作,然后我想与复选框的状态过滤器,我必须做什么?请帮助我 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(函数(){ 返回这个.classNam
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%
您在javaScript/Jquery端所做的是正确的。您没有将相关类名添加到HTML中。我增加了年的课程
(并更改为2012年有2个记录)和分配
,这似乎有效
尝试使用year=2012
和allocation=200000
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
$(document).ready(function(){
var $rows = $('tbody > tr'),
$filters = $('#filter_table input');
$filters.on("keyup", function () {
var $i = $filters.filter(function () {
return $.trim(this.value).length > 0;
});
var len = $i.length;
if (len === 0)
return $rows.show();
var cls = '.' + $i.map(function () {
return this.className;
}).get().join(',.');
if(cls.indexOf(",") > -1){
var array = cls.split(",");
$.each(array,function(i){
$rows.hide().filter(function () {
return $('td', this).filter(function () {//console.log(this);
var content = this.textContent,
inputVal = $i.filter(array[i]).val();
return content.toLowerCase().indexOf(inputVal.toLowerCase()) > -1;
}).length == len;
}).show();
});
}else{
$rows.hide().filter(function () {
return $('td', this).filter(function () {
var content = this.textContent,
inputVal = $i.filter(cls).val();
return content.toLowerCase().indexOf(inputVal.toLowerCase()) > -1;
}).length === len;
}).show();
}
});
});