jQuery dataTables add id to added row

前端 未结 6 1928
粉色の甜心
粉色の甜心 2020-12-18 23:08

Is it possible to add ID to last added row with jQuery DataTables (e.g., ...) ?

$(\'#example\').dataTable().fnA         


        
相关标签:
6条回答
  • 2020-12-18 23:33

    If you use row.add() it is easy to set the 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);
    

    The .node() returns the element of the newly added row.

    0 讨论(0)
  • 2020-12-18 23:39

    This worked for me

    var MyUniqueID = "tr123"; // this is the uniqueId.
    var rowIndex = $('#MyDataTable').dataTable().fnAddData([ "column1Data", "column2Data"]);
    var row = $('#MyDataTable').dataTable().fnGetNodes(rowIndex);
    $(row).attr('id', MyUniqueID);
    
    0 讨论(0)
  • 2020-12-18 23:39

    Hope below code will help you

    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');
    
    0 讨论(0)
  • 2020-12-18 23:41

    Here is a more cleaner approach that I found here:

    table.row.add( [ ... ] ).node().id = 'myId';
    table.draw( false );
    
    0 讨论(0)
  • 2020-12-18 23:43

    Use the fnCreatedRow/createdRow Callback. It is best to set the id attribute of the table row on creation of the row. Use what the API has provided and you won't need to hack it or have messy code

    This function is called when a TR element is created (and all TD child elements have been inserted), or registered if using a DOM source, allowing manipulation of the TR element (adding classes etc).

    //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'
    ]);
    
    0 讨论(0)
  • 2020-12-18 23:52

    This worked for me

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

    rowNode.id='myId';

    0 讨论(0)
提交回复
热议问题