我怎样才能破坏数据表

时间:2015-02-26 23:57:48

标签: javascript html datatable datatables

我有数据表和表有ID示例。

现在我需要销毁数据表,然后我写道:

$('#example').dataTable().fnDestroy();

但我明白了:

  

未捕获的TypeError:无法读取未定义的属性“样式”

这也是我进入控制台日志:enter image description here

这是什么问题?为什么我不能销毁数据表?怎么解决这个问题?

3 个答案:

答案 0 :(得分:18)

对于最新版本的数据表,请使用:

$('#example').DataTable().destroy();

请参阅此内容以获取更多信息:https://datatables.net/reference/api/destroy%28%29

对于旧版本,请按照Hobo Sapiens的说明使用:

$('#example').DataTable().fnDestroy();

答案 1 :(得分:3)

这是v1.10最终对我有用的东西。

// Define a variable for your dataTable object to use
var reportListDataTable = null;

// Then inside a function/method somewhere...

// Destroy the dataTable and empty because the columns may change!
if (reportListDataTable !== null ) {
    // for this version use fnDestroy() instead of destroy()
    reportListDataTable.fnDestroy();
    reportListDataTable = null;
    // empty in case the columns change
    $('#reportListTableId').empty();
}

// Build dataTable with ajax, columns, etc.
reportListDataTable = $('#reportListTableId').dataTable({
    //... Your dataTables code here
});

答案 2 :(得分:0)

对我有用的是点击插入按钮而不是获取数据按钮来破坏dataTable。因此,销毁dataTable的按钮不会重新创建表。从其他按钮单击调用的其他一些函数会创建dataTable。 代码很简单:

销毁dataTable的按钮:

var otable = $('#claimRecordTable').dataTable();
if (otable != null) otable.fnDestroy();

创建dataTable的按钮:

$('#claimRecordTable').dataTable();