在DataTables中对已过滤的列求和

时间:2014-10-10 20:32:20

标签: jquery-datatables datatables-1.10

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

但是,类似的代码会产生' Uncaught TypeError:undefined不是函数。"

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

其中'表'是:

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

1 个答案:

答案 0 :(得分:9)

_(下划线函数)似乎在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()也能很好地运作。