jQuery dataTables добавить id в добавленную строку

можно добавить ID в последнюю добавленную строку с помощью jQuery datatable (TR id='myid') ?

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

(добавьте id в эту новую строку)

4 ответов


использовать 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'
]);

это сработало для меня

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

Если вы используете строку.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);

The .node () возвращает элемент вновь добавленной строки.


Надежда ниже кода поможет вам

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');