0
votes

I am retrieving data from SQL to have in the table. My code is returning an error "DataTables warning: table id=example - Cannot reinitialise DataTable.For more information about this error, please see http://datatables.net/tn/3"
That's my code below. Both html and script. Help would be appreciated.

<table id="example"  cellpadding="0" cellspacing="0" border="0" width="100%" class="table table-striped table-hover">
          <thead>
    <tr>
        <th scope="col">column 1</th>
      <th scope="col">column 2</th>
      <th scope="col">column 3</th>
          <th scope="col">column 4</th>
      <th scope="col">column 5</th>
          <th scope="col">column 6</th>
            <th scope="col">column 7</th>
              <th scope="col">column 8</th>
    </tr>
               <!--  <th scope="col">Booking Ref</th>
                  <th scope="col">Listing</th> -->
          </thead>
      </table>

<script>
$(document).ready(function() {
    $('#example').DataTable( {

     "processing": true,
      "serverSide": true,
      "ajax":{
        url :"employee-grid-data.php", // json datasource
        type: "post",  // method  , by default get
        error: function(){  // error handling
          $(".employee-grid-error").html("");
         $("#example").append('<tbody class="employee-grid-error"><tr><th colspan="16">No data found in the server</th></tr></tbody>');
          $("#example_processing").css("display","none");

        }
      }

"columnDefs": [
            { "visible": false, searchable: true, "targets": [5,6] }
        ], 
        "order": [[ 2, 'asc' ]],
        "displayLength": 25,
        "drawCallback": function ( settings ) {
            var api = this.api();
            var rows = api.rows( {page:'current'} ).nodes();
            var last=null;

            api.column(6, {page:'current'} ).data().each( function ( group, i ) {
                if ( last !== group ) {
                    $(rows).eq( i ).before(
                        '<tr class="group"><td colspan="7" style="padding:15px;">'+group+'</td></tr>'
                    );

                    last = group;
                }
            } );
}

} ); } );

1

1 Answers

0
votes

Ok, I was missing a comma before "columnDefs":