Jquery DataTables-根据行ID更改特定单元格中的数据
我试图通过转到特定的表行ID来更改Jquery DataTable中第5列的表数据。默认情况下,我的所有表行的ID都是row。例如:Jquery DataTables-根据行ID更改特定单元格中的数据,jquery,datatables,cell,Jquery,Datatables,Cell,我试图通过转到特定的表行ID来更改Jquery DataTable中第5列的表数据。默认情况下,我的所有表行的ID都是row。例如: <tr id="row147"> <td>147</td> ... 为了尝试更改特定的表数据单元,我尝试了以下方法 table.rowrow+data.job\u id.datavariable.draw 但这会在每个表数据单元的整行写入数据。如何在行中指定表数据单元,并使用DataTables API将其写入其中?您
<tr id="row147">
<td>147</td>
...
为了尝试更改特定的表数据单元,我尝试了以下方法
table.rowrow+data.job\u id.datavariable.draw
但这会在每个表数据单元的整行写入数据。如何在行中指定表数据单元,并使用DataTables API将其写入其中?您的代码应该如下所示。添加initComplete:
var rowId = "row" + data.job_id;
var element = document.getElementById(rowId).cells;
element[index_of_column].innerHTML = "New content";`
$(document).ready(function () {
$("#uiDataTable").DataTable({
"order": [[1, "asc"]],
"pagingType": "full",
"deferRender": true,
"initComplete": function (settings, json) {
$('tbody tr').each(function () {
var nTds = $('td', this);
var nTrs = $('tr', this);
//row #
if (nTrs.context.id == "4") {
$(nTds[0]).text("Changing row 3 column 1");
//alert(sBrowser);
}
});
}
});
});
我最终通过这篇文章找到了解决方案。基本上必须给每个单元格一个ID。然后我可以使用table.cell'td_5_'+data.job_ID.datavariable将新数据写入特定单元格。如果您通读
$('#'+table).find('tr#'+rowId).find('td:eq(colNum)').html(newValue);
你会注意到上面写着:
还可以选择使用单元格和单元格方法从表中选择行
因此,如果你去:
您将看到重载的单元格方法:
cell( rowSelector, columnSelector, [ modifier ] )
对于您的情况:
table.cell("#row" + data.job_id,'').data(variable).draw()
table.cell("#row" + data.job_id, column_index).data(variable).draw()
更改顺序时,的方法不起作用,因为rowIndex是加载行的顺序,而不是当前显示的顺序。如果希望基于表中的当前位置进行查询,那么使用行索引的jQuery可能是最简单的方法-
$('#yourTableId tbody tr:eq(rowIndex) td:eq(columnIndex)').text('yourvalue');
我应该重新表述一下我关于如何通过DataTables API完成的问题。我尝试了table.rowrow.column5.datavariable.draw,虽然它没有抛出任何错误,但它没有更新该列中的单元格。忽略注释…没有办法通过API完成我的要求吗?initComplete是一个选项。您的答案被标记为低质量,因为它缺少解释。扩展您的答案,使其不会被删除。