我想创建一个函数来创建一个新的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'未定义"在随后的电话中。
答案 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
});