首页 > 解决方案 > 如何在 Datatables.js 源 javascript 函数中重新加载表

问题描述

我有一个关于 Datatables 的问题,我有一个函数可以构建一个数据数组以输入 DataTables。但是,在一行的末尾是一个带有按钮的单元格,如果按下该按钮,它将从函数刚刚从中提取的数据(共享点列表)中删除该行。

现在我可以只引用整个页面,但这很慢而且很笨拙。

如果我让按钮重新运行该功能,我会得到一个DataTables warning:table id=Ttable2 -Cannnot reinitialise DataTables

这是我的代码,目前它并没有太多说明,Tbarray 很大,我写出来的意义不大。

$("#tbBody2").empty();
var table = $('#Ttable2').DataTable({
    data: Tbarray,
    scrollY:"475px",
    scrollCollapse: true,

    });

编辑

function BuildSR(Tbarray){

    if ($.fn.DataTable.isDataTable('#Ttable2')) {
        table.destroy();
    }

    var table = $('#Ttable2').DataTable({
        destroy: true,
        data: Tbarray,
        scrollY:"475px",
        scrollCollapse: true,
    });

    table.draw();

}

标签: javascriptjquerydatatables

解决方案


我建议clear()所有表格条目并使用最新数据重新填充表格,使用rows.add()方法:

$('#Ttable2').clear().rows.add(Tbarray).draw();

这应该比销毁和重新初始化 DataTable 快得多。


推荐阅读