我使用此代码使用table.row.add()
方法在DataTables 1.10.2上动态添加新行:
table.row.add([
'',
name,
target_l,
details,
panel.html()
]).draw();
我制作了这个标记:
<tr role="row" class="odd">
<th>1 .</th>
<td class="sorting_1">ID Fee</td>
<td>All students</td>
<td></td>
<td>
<button class="btn btn-null btn-xs" onclick="_remove(59, 'ID Fee')">
<span class="fui-cross"></span>
</button>
<button class="btn btn-null btn-xs" onclick="_edit(59, 'ID Fee', '', '')">
<span class="icon-pencil"></span>
</button>
</td>
</tr>
我想要做的是将 id (和其他数据)属性添加到新添加的tr标签(在插入行中或之后)并制作它是这样的:
<tr data-id="59" role="row" class="odd">
我设法使用代码获取新添加的行的索引,返回最后一行索引:
var i = table.row.add([
'',
name,
target_l,
details,
panel.html()
]).index();
还尝试执行以下操作,使用 索引添加 data-id属性:
var id = $("#department_id").val();
table.row(i).attr("data-id", id);
// table.row(i).data("id", id);
// I wanted to try this but there is also a method called data() already in
// DataTables so it will not work like in JQuery.
我是DataTables的新手,已经滚动了它的源代码,红色的评论。虽然不善于理解以_fn*()
开头的功能。如果有任何其他方式而不依赖这些_fn*()
函数,谢谢!
答案 0 :(得分:9)
您可以使用rows().nodes() API函数,如下所示:
var i = table.row.add([
'',
name,
target_l,
details,
panel.html()
]).index();
var id = $("#department_id").val();
table.rows(i).nodes().to$().attr("data-id", id);