DataTables"无法读取属性' destroy'未定义"

时间:2014-10-11 15:37:10

标签: javascript jquery ajax datatables

我想创建一个函数来创建一个新的DataTable。如果表已经存在,我希望我的函数破坏现有表并创建新表。

我这样做了:

$.ajax().done(function(response){
            Init_DT(response['cols'], response['data']);
        });

function Init_DT(cols, data){

        if($('#mytable tr').length > 0){
            table.destroy();
        }

        var table = $('#mytable').DataTable({
            "data": data,
            "columns": cols
        });

    }

此功能可以很好地启动我的第一张桌子,但是我得到了#34;无法读取属性' destroy'未定义"在随后的电话中。

1 个答案:

答案 0 :(得分:1)

本地JavaScript变量。

在函数内定义的变量具有本地范围。它在功能完成时被销毁。

function myFunction() {
var myVar = "value";}

此函数myVar将在函数完成其工作后销毁。在下次通话中,它将再次定义。

使用全局变量。即在函数外定义它然后使用它。 即

var myVar='value';function myFunction(){//here myVar can be accessed}

或在函数内部为变量赋值,它将变为全局变量。

function myFunction(){ myVar = 'value'; }

现在myVar也将是全球性的。

因此您需要使用

table = $('#mytable').DataTable({
            "data": data,
            "columns": cols
        });

参考:w3Schools JS Variable Scope