2014-10-10 2 views
2

Я пытаюсь суммировать результаты отфильтрованных столбцов в DataTables. Я просмотрел вопросы, заданные на их веб-сайте, и люди добились успеха, используя this method.Суммирование отфильтрованного столбца в DataTables

Однако, подобный код для меня производит «Uncaught TypeError: не определено не является функцией«

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

ответ

6

_ (функция подчеркивания), кажется, быть устаревшим в dataTables 1.10.x. Теоретически он должен работать с (старый конструктор), но это не дает ожидаемого результата (как минимум не для меня).

Но увидеть это ->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() работает отлично также.

+2

Для всех, кто ссылается на это, проверьте https://datatables.net/reference/type/selector-modifier, который обеспечивает больше info incase, вы все равно не получите набор прикладных данных. – Antony

Смежные вопросы