我正在尝试对数据表中筛选列的结果求和。我查看了他们网站上提出的问题,人们已经成功使用 this method .
但是,类似的代码对我来说会产生“未捕获的类型错误:未定义不是一个函数。”
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()
也能很好地工作。
关于datatables - 对数据表中的筛选列求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26307622/