2014-10-10 30 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