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

时间:2013-01-30 03:37:53

标签: jquery datatables

我将此代码用于 init DataTable

    $('#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>"]);   

我的问题是:有没有办法将$_returnvalue.entryid的值插入<tr> ID

3 个答案:

答案 0 :(得分:26)

您可以使用fnCreatedRow回调

你可以做aData[0]必须是id的地方。

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

演示:Fiddle

答案 1 :(得分:3)

 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 :(得分:0)

您在这里没有使用服务器端数据表。这个答案可以帮助那些使用服务器端数据表并尝试放置唯一 ID(来自服务器端,基于数据库数据)的人。

您只需通过此键发送 IDDT_RowId(来自服务器端,作为响应)。它不需要在前端进行任何更改。可以在以下链接中找到更多详细信息:https://datatables.net/examples/server_side/ids.html