每次调用函数lds时,我都会初始化一个Datatable。函数lds为表提取数据,并通过
$('#tablebody').html(data);
之后,我要像这样初始化一个数据表,
$('#rTable').Datatable({
paging:false,
destroy: true
});
如果我再次调用lds函数,则可以解决错误“无法初始化数据表”的问题。但是保留了以前附加的旧行。我尝试了以下方法:
将var table分配给Datatable的初始化,并将table.empty()放在lds的开头。但是正如预期的那样,表变量未定义。
试图在长度> 0时删除row(0),但这会弄乱表并将其删除。
尝试('#rTable')。empty(),但由于此Datatables引发未定义的错误d [i]。
每当调用函数lds时,我可以采取什么方法来清空行。
最佳答案
单击按钮销毁现有表
var table = $('#myTable').DataTable();
$('#tableDestroy').on( 'click', function () {
table.destroy();
} );
从服务器重新加载完整的表描述,包括列:
var table = $('#myTable').DataTable();
$('#submit').on( 'click', function () {
$.getJSON( 'newTable', null, function ( json ) {
table.destroy();
$('#myTable').empty(); // empty in case the columns change
table = $('#myTable').DataTable( {
columns: json.columns,
data: json.rows
} );
} );
} );