// Call the dataTables jQuery plugin /*$(document).ready(function() { $('#dataTable').DataTable(); }); */ /*$(document).ready(function() { $('#dataTable').DataTable( { retrieve: true, initComplete: function () { this.api().columns().every( function () { var column = this; var select = $('') .appendTo( $(column.footer()).empty() ) .on( 'change', function () { var val = $.fn.dataTable.util.escapeRegex( $(this).val() ); column .search( val ? '^'+val+'$' : '', true, false ) .draw(); } ); column.data().unique().sort().each( function ( d, j ) { select.append( '' ) } ); } ); } } ); } );*/ $(document).ready(function() { $('#dataTable').DataTable( { dom: 'Bfrtip', buttons: ['copy', 'csv', 'excel', 'pdf', 'print'], retrieve: true, initComplete: function () { this.api().columns().every( function () { var column = this; var select = $('') .appendTo( $(column.footer()).empty() ) .on( 'change', function () { var val = $.fn.dataTable.util.escapeRegex( $(this).val() ); column .search( val ? '^'+val+'$' : '', true, false ) .draw(); } ); column.data().unique().sort().each( function ( d, j ) { select.append( '' ) } ); } ); }, // comma here to separate the options "footerCallback": function ( row, data, start, end, display ) { var api = this.api(), data; // Remove the formatting to get integer data for summation var intVal = function ( i ) { return typeof i === 'string' ? i.replace(/[\€,]/g, '')*1 : typeof i === 'number' ? i : 0; }; // Total over all pages total = api .column( 0 ) .data() .reduce( function (a, b) { return intVal(a) + intVal(b); }, 0 ); // Total over this page pageTotal = api .column( 0, { page: 'current'} ) .data() .reduce( function (a, b) { return intVal(a) + intVal(b); }, 0 ); // Update footer $( api.column( 0 ).footer() ).html( 'Total Impulse: '+pageTotal /*+' ( €'+ total +' total)'*/ ); } } ); } );