我正在尝试对数据表中过滤列的结果求和。我查看了他们网站上提出的问题,人们已经成功使用这个方法 http://datatables.net/forums/discussion/2053/fnfootercallback-sum-column-after-filter.
然而,类似的代码对我来说会产生“未捕获的类型错误:未定义不是一个函数”。
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() 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/ http://jsfiddle.net/6qLwkwud/
table.column( 0, {"filter": "applied"} ).data().sum()
效果也很好。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)