<!DOCTYPE html>
<html>
  <head>
<meta name="description" content="Footer callback does not compute on Fixed Columns" />
    <script src="https://code.jquery.com/jquery-3.1.0.min.js"></script>
    <link href="https://cdn.datatables.net/1.10.20/css/jquery.dataTables.css" rel="stylesheet" type="text/css" />
    <script src="https://cdn.datatables.net/1.10.20/js/jquery.dataTables.js"></script>
    
    <link href="https://cdn.datatables.net/fixedcolumns/3.3.0/css/fixedColumns.dataTables.min.css" rel="stylesheet" type="text/css" />        
    <script src="https://cdn.datatables.net/fixedcolumns/3.3.0/js/dataTables.fixedColumns.js"></script>
    <meta charset=utf-8 />
    <title>DataTables - JS Bin</title>
  </head>
  <body>
    <div class="container">
<table id="example" class="display nowrap" style="width:100%">
        <thead>
            <tr>
                <th>Name</th>
                <th>Position</th>
                <th>Office</th>
                <th>Extn.</th>
                <th>Start date</th>
                <th>Salary</th>
            </tr>
        </thead>
        <tfoot>
          <tr>
            <th></th>
            <th></th>
            <th></th>
            <th></th>
            <th></th>
            <th></th>              
        </tfoot>
    </table>
    </div>
  </body>
</html>
 
body {
  font: 90%/1.45em "Helvetica Neue", HelveticaNeue, Verdana, Arial, Helvetica, sans-serif;
  margin: 0;
  padding: 0;
  color: #333;
  background-color: #fff;
  width : 550px;
}
 
$(document).ready(function() {
    var table = $('#example').DataTable( {
      dom : 'lftip',
      ajax: '/examples/ajax/data/arrays.txt',
      //------------------
      scrollX:     true,
      fixedColumns:   {
       leftColumns: 1,
       rightColumns: 1
      },
      //------------------
      footerCallback : function(row, data,start,end,display) {
        var api = this.api();
        
        var intVal = function (i) {
          return typeof i === 'string' ?
            i.replace(/[\$,]/g, '') * 1 :
          typeof i === 'number' ?
            i : 0;
        };
        
        Total = api
          .column(5, { search: 'applied' })
          .data()
          .reduce(function (a, b) {
          return intVal(a) + intVal(b);
        }, 0);
        
        $(api.column(5).footer()).html(Total);
      }
    } );
  
  table.on('draw', function() {
    table.fixedColumns().update();
  });
  
} );
Output 300px

You can jump to the latest bin by adding /latest to your URL

Dismiss x
public
Bin info
anonymouspro
0viewers