2014-10-10 87 views
2

我在总结DataTables中过滤列的结果。我查看了他们网站上提出的问题,并且使用this method已经成功。在DataTables中总结过滤列

但是,对我来说类似的代码产生“遗漏的类型错误:未定义是不是一个函数“

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

在哪里。 '表' 是:

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

我发现这有帮助:https://datatables.net/examples/advanced_init/footer_callback.html – Ryan 2017-07-29 14:21:05

回答

6

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

会给在数据表1.10.x相同的功能。

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

table.column(0, {"filter": "applied"}).data().sum()工作得很好也。

+2

对于任何其他引用此做检查https://datatables.net/reference/type/selector-修改它提供了更多信息incase你仍然没有得到应用的数据集。 – Antony 2017-08-22 11:16:06