jQuery dataTables将id添加到添加的行

时间:2014-01-14 13:18:07

标签: jquery datatables

是否可以使用jQuery DataTables(例如<tr id="myid">...</tr>)向上次添加的行添加ID?

$('#example').dataTable().fnAddData( [
        "col_value_1",
        "col_value_2",
        "col_value_3",
        "col_value_4" ] );

(将ID添加到此新行)

6 个答案:

答案 0 :(得分:22)

使用 fnCreatedRow/createdRow 回调。最好在创建行时设置表行的id属性。使用API​​提供的内容,您不需要破解它或使用凌乱的代码

  

当创建TR元素(并且已插入所有TD子元素)时调用此函数,或者在使用DOM源时注册,允许操作TR元素(添加类等)。

//initialiase dataTable and set config options
var table = $('#example').dataTable({
    ....
    'fnCreatedRow': function (nRow, aData, iDataIndex) {
        $(nRow).attr('id', 'my' + iDataIndex); // or whatever you choose to set as the id
    },
    ....
});

// add data to table post-initialisation
table.fnAddData([
    'col_value_1',
    'col_value_2',
    'col_value_3',
    'col_value_4'
]);

答案 1 :(得分:8)

这对我有用

var MyUniqueID = "tr123"; // this is the uniqueId.
var rowIndex = $('#MyDataTable').dataTable().fnAddData([ "column1Data", "column2Data"]);
var row = $('#MyDataTable').dataTable().fnGetNodes(rowIndex);
$(row).attr('id', MyUniqueID);

答案 2 :(得分:2)

如果使用row.add(),则很容易设置id:

   var table = $('#example').DataTable();
   var rowNode = table.row.add([
        "col_value_1",
        "col_value_2",
        "col_value_3",
        "col_value_4"
    ]).node();

    $(rowNode).attr("id", myid);

.node()返回新添加的行的元素。

答案 3 :(得分:2)

这是我发现的here更为简洁的方法:

table.row.add( [ ... ] ).node().id = 'myId';
table.draw( false );

答案 4 :(得分:1)

这对我有用

var rowNode=$('#MyTable').DataTable().row.add([1,2,3]).draw( false );

rowNode.id='myId';

rowNode.id ='myId';

答案 5 :(得分:-1)

希望以下代码可以帮助您

var rowid = $('#example').dataTable().fnAddData( [
    "col_value_1",
    "col_value_2",
    "col_value_3",
    "col_value_4" ] );
var theNode = $('#example').dataTable().fnSettings().aoData[rowid[0]].nTr;
theNode.setAttribute('id','your value');