数据表重新初始化 (jQuery)
Posted
技术标签:
【中文标题】数据表重新初始化 (jQuery)【英文标题】:Datatables reInitialization (jQuery) 【发布时间】:2011-03-13 13:21:55 【问题描述】:当我首先加载我的页面时,表中没有任何内容并且数据表未初始化,在添加了一些交互行之后,当添加了所有行(使用 ajax 调用)时,我以这种方式初始化数据表:
oTable = $('#table).dataTable(
"bJQueryUI": true,
"bSortClasses": false,
"sDom":'T<"clear">',
"sPaginationType": "full_numbers",
"sDom": 'T<"clear"><"fg-toolbar ui-widget-header ui-corner-tl ui-corner-tr ui-helper-clearfix"lfr>t<"fg-toolbar ui-widget-header ui-corner-bl ui-corner-br ui-helper-clearfix"ip>'
);
问题是我希望能够清除该表并继续在 html 中添加内容,然后在不使用 fnAddData 的情况下从该源代码重新初始化表。
有什么想法吗?
谢谢!
【问题讨论】:
【参考方案1】:调用$('#table').dataTable().fnDestroy();
将清除表中的dataTable
代码并允许您操作表,然后再次调用dataTable
。
【讨论】:
【参考方案2】:你能用fnUpdate
和fnClearTable
吗? http://datatables.net/api
【讨论】:
我不太明白 fnUpdate 是如何工作的。 fnClearTable,但是,我不想清除它,我希望能够在不收到警报消息的情况下再次初始化它。【参考方案3】:当您初始化数据表集 bDestroy: true 和通过$('#myTable').dataTable().fnClearTable();
添加更新清除表之前。就这样!!
【讨论】:
做到了。 fnDestroy() 将清除分页按钮。 fnClearTable(),如果没有指定bDestroy,将不会正确重置分页按钮。【参考方案4】:使用初始化变量bDestory
。不是nDestroy。
【讨论】:
【参考方案5】:清空表格,oTable.api().clear().draw();
从ajax重新加载数据,oTable.api().ajax.reload();
我不认为 reInit 是个好方法
【讨论】:
以上是关于数据表重新初始化 (jQuery)的主要内容,如果未能解决你的问题,请参考以下文章
jquery 数据表:“未捕获的类型错误:无法读取未定义的属性‘长度’”在销毁和重新初始化后。表作为数据源