如何使用row.add(data).draw()。node();在DataTable中添加行时设置TD的Id属性。

时间:2015-11-05 18:56:14

标签: api datatables row

当我使用此API数据表添加新行时,如何设置一个TD的“id”属性?考虑我只有一个TD。

3 个答案:

答案 0 :(得分:2)

以下是API对新添加的行执行操作的示例。

var table = $('#example').DataTable();

table
    .rows.add( [
        new Pupil( 43 ),
        new Pupil( 67 ),
        new Pupil( 102 )
    ] )
    .draw()
    .nodes()
    .to$()
    .addClass( 'new' );

.addClass()是一个jquery方法,他们在这里使用class="new"添加到新添加的行中。

因此,您可以使用<td>找到该行中的所有.find(),而不是在该行中添加一个类,然后使用.each()在每个<td>上调用一个函数使用.attr()修改其id属性。

var table = $('#example').DataTable();

var count = 0;

table
    .rows.add( [
        new Pupil( 43 ),
        new Pupil( 67 ),
        new Pupil( 102 )
    ] )
    .draw()
    .nodes()
    .to$()
    .find('td')
    .each(function() {
        $(this).attr('id', 'td' + (count++)  );
    });

请注意使用count变量来确保分配的每个id都是唯一的。

答案 1 :(得分:0)

而不是使用上面解决方案中的计数,您可以使用jQuery创建的索引 -

.find('td')
    .each(function(**index**) {
        $(this).attr('id', 'td' + **index**  );
    });

答案 2 :(得分:0)

添加让我们说td中的一列(仅说第4列):

var datatableTable = $('#datatableTable').DataTable();
var json = JSON.parse(data);
for (var row in json) {
var toAdd = {
id: json[row].id,
name: json[row].name
};

var i = datatablePojectListTable.row.add(toAdd).draw().nodes().to$().find('td:eq(4)').each(function() {$(this).attr('id', 'td-' + idVal  );});
// Add ID to row
datatablePojectListTable.rows(i).nodes().to$().attr("id", idVal);
}