【问题标题】:Summing a filtered column in DataTables对 DataTables 中的过滤列求和
【发布时间】:2014-12-06 02:34:40
【问题描述】:

我正在尝试对 DataTables 中过滤列的结果求和。我查看了他们网站上提出的问题,人们使用this method 取得了成功。

但是,对我来说,类似的代码会产生“未捕获的类型错误:未定义不是函数。”

data = table._('td:nth-child(10)', {"filter": "applied"});

“表”在哪里:

var table = $('#dataTable').DataTable({
// my initialization data
});

【问题讨论】:

标签: jquery-datatables datatables-1.10


【解决方案1】:

_(下划线函数)似乎在 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() 也非常好用。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-08-27
  • 1970-01-01
  • 2019-06-17
  • 1970-01-01
  • 2011-12-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多