【发布时间】:2011-04-19 12:02:23
【问题描述】:
我正在使用 jQuery Datatable 插件将表格呈现为 jQuery DataTable。我没有使用任何服务器端调用来获取表行详细信息。
我正在使用 jQuery 从用户当前正在查看的页面上的可用信息中生成表格 HTML。
<table cellpadding="0" cellspacing="0" border="0" class="display" id="list_table">
<thead>
</thead>
<tbody>
</tbody>
</table>
当用户点击链接时,我使用 jQuery 为表格构建所需的行并将其设置为表格主体。
之后我初始化dataTable如下所示:
$('#list_table').dataTable({
"bProcessing": false,
"bJQueryUI": true,
"bPaginate": true,
"bAutoWidth": false,
"bFilter" : true,
"bDestory" : true,
"oLanguage": { "sZeroRecords": "No data available", "sSearch" :"Filter" }
});
当用户第一次点击链接时,上述工作正常。但是如果用户再次点击,I get error dataTable 给出错误:
DataTables warning (table id = 'list_table'): Cannot reinitialise DataTable. .....
即使显示了表格,它也会丢失其 Datatable CSS,搜索不再有效,下一个上一个不再有效。
我尝试了各种选项,例如设置"bRetrieve" : true,还尝试检查数据表对象是否可用:
if (typeof dTable == 'undefined') {
dTable = $('#list_table').dataTable({
"bProcessing": false,
"bJQueryUI": true,
"bPaginate": true,
"bAutoWidth": false,
"bFilter" : true,
"bDestory" : true,
"oLanguage": { "sZeroRecords": "No data available", "sSearch" :"Filter" }
});
} else {
dTable.fnClearTable();
}
但似乎没有任何效果。我已将 DataTable 与服务器端 ajax 调用一起使用以从正常工作的服务器重新加载数据,但在这种情况下,我不确定如何解决此问题。
谢谢。 周杰伦
【问题讨论】:
-
在点击该链接时,您只是在附加正文内容或从表格开始,头...?
-
把这个问题显示在jsfidle上会更好..
标签: jquery jquery-plugins datatables