我正在尝试对DataTables中过滤列的结果求和。我已经看过他们网站上提出的问题,人们使用这种方法取得了成功。
但是,对我来说类似的代码会产生“未捕获的TypeError:未定义不是函数”。
data = table._('td:nth-child(10)', {"filter": "applied"});
“表”在哪里:
var table = $('#dataTable').DataTable({
// my initialization data
});
_
(下划线功能)似乎已在dataTables 1.10.x中弃用。从理论上讲,它应该与$('#dataTable').dataTable()
(旧的构造函数)一起使用,但这不能给出预期的结果(至少对我而言不是)。
但是请参阅-> http://datatables.net/plug-ins/api/sum()
jQuery.fn.dataTable.Api.register( 'sum()', function () {
return this.flatten().reduce( function ( a, b ) {
return (a*1) + (b*1); // cast values in-case they are strings
});
});
var table = $("#example").DataTable();
$("#example").on('search.dt', function() {
console.log(table.column( 0, {page:'current'} ).data().sum() );
});
将在dataTables 1.10.x中提供与问题标题相同的功能。
参见演示-> http://jsfiddle.net/6qLwkwud/
table.column( 0, {"filter": "applied"} ).data().sum()
效果也很好。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句