小编典典

无法重新初始化DataTable-数据表的动态数据

ajax

我有一个显示所有员工的数据表。它适用于所有员工document.ready。我有一个选择标签,其中包含员工类型,例如'project_manager' & 'team_leader',并且在更改员工类型时,我正在调用一个函数get_employees(emp_type)并传递所选的员工类型。

在ajax响应中获取所需和正确的数据,但引发警告

DataTables warning: table id=example - Cannot reinitialise DataTable. For more information about this error, please see http://datatables.net/tn/3

我试图摧毁它,但是没有运气。

也尝试过

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

它清除表并显示新添加的数据,但每次都添加带有列名的新排序图像。

这是我的代码段。

$(document).ready(function() {
            get_employees('all');
        });

        function get_employees(emp_type)
        {
            $.ajax({
                url: '../ajax_request.php',
                type: "POST",
                data: {
                    action: "admin_get_all_employees",
                    type: emp_type
                },
                success: function(response) {
                    var response = jQuery.parseJSON(response);

                    // $('#example').destroy(); tried this but haven’t worked

                    $('#example').dataTable({
                        "aaData": response.data,
                    });
                }
            });
        }

提前致谢。


阅读 505

收藏
2020-07-26

共1个答案

小编典典

在当前版本的DataTables(1.10.4)中,您可以简单地添加destroy:true到配置中,以确保在重新初始化之前删除所有已经存在的表。

$('#example').dataTable({
    destroy: true,
    aaData: response.data
});
2020-07-26