use*_*723 12 javascript jquery datatables
我正在使用DataTables javscript库,我试图根据数值是否大于60来过滤掉一行.
我试图效仿这个例子:http: //datatables.net/reference/api/filter%28%29
过滤器代码如下所示:
table
.column( 3 )
.data()
.filter( function ( value, index ) {
return value > 60 ? true : false;
} )
Run Code Online (Sandbox Code Playgroud)
问题是所有行仍然可见,并且根本没有进行过滤.即使我的函数只返回false,所有行仍然可见.这里发生了什么?
JSFiddle的例子
ade*_*neo 14
您链接的示例是从列中过滤返回的数据数组,而不是行本身.
您可以通过返回内容并记录它来验证这一点
var filteredArray = table.column( 3 )
.data()
.filter( function(value, index) {
return value > 60 ? true : false;
})
.draw();
console.log(filteredArray);
Run Code Online (Sandbox Code Playgroud)
这就是该filter方法的作用,它在您返回数据时过滤数据data(),而不是行.
要过滤掉适当的行,您可以更具体地挂钩DataTables插件$.fn.dataTableExt.afnFiltering,并执行类似的操作
$.fn.dataTableExt.afnFiltering.push(
function (oSettings, aData, iDataIndex) {
return aData[3] < 60;
}
);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10079 次 |
| 最近记录: |