【发布时间】:2014-10-11 15:37:09
【问题描述】:
我想创建一个函数来创建一个新的 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
});
}
此函数可以很好地启动我的第一个表,但在随后的调用中我得到“无法读取未定义的属性 'destroy'”。
【问题讨论】:
-
第一次调用 table 的长度 = 0 所以不调用 table.destroy。然后它创建数据表实例。但是在第二次调用时,当长度>0时,它不能破坏它。
-
你是对的。但它不是局部范围变量吗?当你第二次进来时。它真的没有定义。因为表在函数之外被破坏了?它只会在您检查 destroy 后创建?供参考 --> w3schools.com/js/js_scope.asp
-
是的。但即使我做
table = $('#mytable').dataTable();,它应该是全局的,我也得到了同样的错误。有什么建议@Meer? -
你能展示一下你刚刚尝试过的代码吗?
-
什么是错误?
标签: javascript jquery ajax datatables