Datatables reInitialization (jQuery)

2020-03-01 09:43发布

问题:

When I load my page in first place there nothing in the table and the datatable is not initializated, after a few interactions rows are added and when all rows are added (with ajax calls) I init the datatable this way:

oTable = $('#table).dataTable( {
            "bJQueryUI": true,
            "bSortClasses": false,
            "sDom":'T<"clear">',
            "sPaginationType": "full_numbers",
            "sDom": 'T<"clear"><"fg-toolbar ui-widget-header ui-corner-tl ui-corner-tr ui-helper-clearfix"lfr>t<"fg-toolbar ui-widget-header ui-corner-bl ui-corner-br ui-helper-clearfix"ip>'
        } );

The problem is I want to be able to clear that table and keep on adding stuff in the html and then reInit the table from that source code without using fnAddData.

Any ideas?

Thank you!

回答1:

Calling $('#table').dataTable().fnDestroy(); will clear the table of dataTable code and allow you to manipulate the table, and then call dataTable on it again.



回答2:

Can you use fnUpdate and fnClearTable? http://datatables.net/api



回答3:

When you initialize the datatable set bDestroy: true and before adding the update clear table via $('#myTable').dataTable().fnClearTable();. Thats it!!



回答4:

use the initialization variable bDestory. Not nDestroy.



回答5:

to clear the table, oTable.api().clear().draw();

to reload data from ajax, oTable.api().ajax.reload();

I don't think reInit is a good manner