在DataTables中对已过滤的列求和

Isa*_*kew 3 jquery-datatables datatables-1.10

我试图在DataTables中对过滤列的结果求和.我查看了他们网站上提出的问题,人们使用这种方法取得了成功.

但是,对我来说类似的代码会产生'Uncaught TypeError:undefined不是函数."

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

'table'在哪里:

var table = $('#dataTable').DataTable({
// my initialization data
});
Run Code Online (Sandbox Code Playgroud)

dav*_*rad 10

_(下划线函数)似乎在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() );
});
Run Code Online (Sandbox Code Playgroud)

会在问题标题中提供dataTables 1.10.x中相同的功能.

看演示 - > http://jsfiddle.net/6qLwkwud/

table.column( 0, {"filter": "applied"} ).data().sum() 工作得非常好.

  • 对于其他任何引用此功能的人,请查看https://datatables.net/reference/type/selector-modifier,它提供了更多信息,但仍然无法获取应用的数据集. (4认同)