首页 文章

在DataTables中对已过滤的列求和

提问于
浏览
2

我已经查看了他们网站上提出的问题,并且人们使用this method取得了成功 .

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

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

'table'在哪里:

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

1 回答

  • 7

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

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

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

    table.column( 0, {"filter": "applied"} ).data().sum() 也非常好用 .

相关问题