使用datattables替换表体

Replace the table body using DataTables

本文关键字:替换 datattables 使用      更新时间:2023-09-26

我是使用数据表的新手,我一直在努力改变我的数据表的主体。

我一直在看API和搜索论坛,但我找不到任何东西。

API有一个名为body()的函数,用于获取表体。如果有设置它的功能就好了。

假设我通过AJAX获得了一个全新的表体,我想删除旧的表体并替换它。

我过去是通过jQuery函数html()来实现的,但看起来这里的情况有所不同。

如果您需要替换所有行,我建议使用clear()rows.add()的组合。

例如:

var table = $('#example').DataTable();
table.clear();
table.rows.add( [ 
    {
        "name":       "Tiger Nixon",
        "position":   "System Architect",
        "salary":     "$3,120",
        "start_date": "2011/04/25",
        "office":     "Edinburgh",
        "extn":       "5421"
    }, {
        "name": "Garrett Winters",
        "position": "Director",
        "salary": "$5,300",
        "start_date": "2011/07/25",
        "office": "Edinburgh",
        "extn": "8422"
    } 
] );

否则,如果你想用HTML内容替换表,你需要用destroy()销毁表,替换tbody,然后用DataTable()重新初始化表。

例如:

var table = $('#example').DataTable();
table.destroy();
$('#example').html('<thead><tr><th></th></tr></thead><tbody></tbody>');
table = $('#example').DataTable();
var table = $('#example').DataTable();
table.destroy();
$('#example').html('<thead><tr><th></th></tr></thead><tbody></tbody>');
table = $('#example').DataTable();