如何在使用 jQuery 创建表后初始化数据表.js加载函数
How do I initialize DataTables.js' load function AFTER creating the table with jQuery?
我正在使用ajax创建一个表。该表显示正确,并且是有效的 html,但我无法正确初始化数据表。
我有这个 html 代码:
<table class="dat">
在我的 ajax 中:
complete: $('.dat').DataTable(),
该表根据 DataTables.js 的表准则进行格式化:
<table class="dat">
<thead>
<tr>
<th>Logo</th>
<th>Food Name</th>
<th>Stuff</th>
<th>Code</th>
</tr>
</thead>
<tbody>
<tr>
<td>Image</td>
<td>Stuff here</td>
<td>Description</td>
<td>Code</td>
</tr>
</tbody>
</table>
以及jquery AJAX的一部分:
success: function (z) {
var json = $.parseJSON(z.d);
var table = '<table class="dat">';
table += " <thead>";
table += " <tr>;"
table += " <th>Logo</th>";
table += " <th>Food Name</th>";
table += " <th>Stuff</th>";
table += " <th>Code</th>";
table += " </tr>";
table += " </thead>";
$.each(json, function (i, obj) {
//console.log(obj);
table += " <tbody>";
table += " <tr>";
table += " <td> Image (" + obj.Logo + ")</td>";
table += " <td>" + obj.FoodName + "</td>";
table += " <td>";
$.each(obj.Text, function (j, t) {
table += t + "; ";
});
table += " </td>"; // Stuff
table += " <td>" + obj.Code + "</td>";
table += " </tr>";
});
table += " </tbody>";
table += "</table>";
$('.search_results').append(table);
$('.dat').DataTable();
},
html 正确显示,没有任何格式问题,也没有错误。我唯一能做的就是使用搜索功能,它不会清除不相关的内容。是否在追加功能之前调用 DataTable()?这就是我的怀疑,但搜索功能几乎完美运行。
如果是这样,在表加载完成后如何调用它?如果不是,我做错了什么?
提前感谢!
首先尝试删除任何先前的侦听器,以便 DataTable 可能已经附加到表(特别是因为您是通过类而不是 ID 来标识它)。 然后,初始化表。
所以,替换这个...
$('.dat').DataTable();
有了这个...
$('.dat').DataTable().destroy();
$('.dat').DataTable();
相关文章:
- 谷歌可视化数据表间歇性问题
- 以编程方式透视谷歌可视化数据表
- 使用AngularJS初始化数据表
- 在 Angular 服务中初始化数据的位置
- 初始化数据的正确方法
- 谷歌可视化数据表过滤器行
- 如何在使用 jQuery 创建表后初始化数据表.js加载函数
- 反应“考虑初始化数据以消除歧义”问题
- 数据表 jQuery 无法重新初始化数据表
- R: 如何在Shiny中初始化数据表FixedColumns javascript
- 谷歌可视化数据表CSV下载
- 如何避免在初始化数据绑定下拉列表时触发订阅
- 刷新数据表时出错-无法重新初始化数据表
- jquery dataable为对象初始化的表添加复选框
- jqgrid treeGrid Json,如何在初始化数据时扩展所有节点
- 在模态表上初始化数据表时出现Ajax错误
- 如何在AngularJS中通过AJAX加载数据后重新初始化数据表?
- 如何重新初始化数据表
- 使用新的 API 重新初始化数据表
- 用PHP初始化数据表