动态添加行后,jquery DataTable将ID添加到TR元素

动态添加行后,jquery DataTable将ID添加到TR元素,jquery,datatables,Jquery,Datatables,我正在使用此代码初始化数据表: $('#table-groups').dataTable( { "bJQueryUI": true, "sPaginationType": "full_numbers", "bFilter": false, "bInfo": false, "aLengthMenu": [[10, 25, 50, -1], [10, 25, 50, "All"]], "aoColumns": [ { "sClass"

我正在使用此代码初始化数据表:

    $('#table-groups').dataTable( {
    "bJQueryUI": true,
    "sPaginationType": "full_numbers",
    "bFilter": false,
    "bInfo": false,
    "aLengthMenu": [[10, 25, 50, -1], [10, 25, 50, "All"]],
    "aoColumns": [
     { "sClass": "name" },
     { "sClass": "tools", "bSortable": false},
     ],     
    });
现在我通过服务器端脚本添加行,如下所示:

$('#table-groups').dataTable().fnAddData( ["<strong>"+$_returnvalue.name+"</strong>","<div class=\"cell edit\"> Group ID is: "+$_returnvalue.entryid+" </div>"]);   
$(“#表组”).dataTable().fnAddData([“”++$\u returnvalue.name+“”,组ID为:“++$\u returnvalue.entryid+”);
我的问题是:有没有办法插入
$\u returnvalue.entryid
的值作为
ID

您可以使用回调函数

你可以做一些类似的事情,比如,
aData[0]
必须是id

$('#example').dataTable( {
    "fnCreatedRow": function( nRow, aData, iDataIndex ) {
        $(nRow).attr('id', aData[0]);
    }
});

演示:

此处未使用服务器端数据表。这个答案可能会帮助那些使用服务器端datatable并试图放置唯一ID(来自服务器端,基于db数据)的人


您只需通过以下键发送
ID
DT_RowId
(作为响应,从服务器端发送)。它不需要在前端进行任何更改。有关这方面的更多详细信息,请参见以下链接:

您的解决方案是动态创建/填充数据表的最佳解决方案。非常感谢你。另外,可能会在属性id中添加“行”作为前缀
 var MyUniqueID = "tr123"; // this is the uniqueId.
    var rowIndex = $('#MyDataTable').dataTable().fnAddData([ "column1Data", "column2Data"]);
    var row = $('#MyDataTable').dataTable().fnGetNodes(rowIndex);
    $(row).attr('id', MyUniqueID);