数据表重新初始化 (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】:

你能用fnUpdatefnClearTable吗? 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 DataTable

如何使用Jquery数据表重新初始化表控制器列表

jquery 数据表:“未捕获的类型错误:无法读取未定义的属性‘长度’”在销毁和重新初始化后。表作为数据源

从服务器 MVC 重新加载 JQuery 数据表

DataTables 警告:table id=example - 无法重新初始化 DataTable - jQuery

如何使用 Datatables Jquery 插件销毁表并使用新的更新数据重新初始化同一个表