Javascript JQuery DataTables-筛选记录集
我一直在尝试处理JQuery数据表中的过滤,但在解决所有问题时遇到了一些困难 我的代码如下:Javascript JQuery DataTables-筛选记录集,javascript,jquery,datatables,Javascript,Jquery,Datatables,我一直在尝试处理JQuery数据表中的过滤,但在解决所有问题时遇到了一些困难 我的代码如下: $(document).ready(function() { var table = $('#example').DataTable({ columnDefs: [{ targets: [2, 4, 5], visible: false }, { targets: 1,
$(document).ready(function() {
var table = $('#example').DataTable({
columnDefs: [{
targets: [2, 4, 5],
visible: false
}, {
targets: 1,
width: '30%'
}]
});
var filteredAge = table
.column(3)
.data()
.filter(function(value, index) {
return value > 40 ? true : false;
});
console.log(filteredAge);
var filteredData = table
.columns([0, 1, 2, 3, 4, 5])
.data()
.eq(3)
.filter(function(value, index) {
return value > 40 ? true : false;
});
console.log(filteredData);
});
正如你们将从下面看到的,单个列上的第一个过滤器工作正常,并按照预期将正确的值记录到控制台。但是,第二个筛选器向控制台返回“UncaughtTypeError:无法读取null的属性'filter'”错误。就我的一生而言,我无法找出原因
是我的语法错了还是我遗漏了一些重要的东西
提前谢谢
R原因是
.eq(3)
。为什么会这样?我之所以有.eq(3)
是因为,根据,它看起来是从多个列中筛选数据所必需的。我假设这是让API知道基于哪个列进行过滤的唯一方法。当我从Fiddle中的代码中删除.eq(3)
时,它只返回一个空的记录集,在这个例子中不应该是这样的……在对我遇到的问题做了更多的研究并重新阅读了eq()
的文档之后,我相信我已经找到了一个很好的解决方案来满足我的需要。请看一看更新后的我的解决方法。如果任何人发现这种过滤原始记录集和用新派生(过滤)数据重新绘制数据表的方法有任何问题,请务必让我知道。。。