是否可以使用jQuery DataTables(例如<tr id="myid">...</tr>
)向上次添加的行添加ID?
$('#example').dataTable().fnAddData( [
"col_value_1",
"col_value_2",
"col_value_3",
"col_value_4" ] );
(将ID添加到此新行)
答案 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');