Jquery DataTables – 根据行ID更改特定单元格中的数据
我试图通过转到特定的表行ID来更改我的Jquery DataTable中的第5列表数据。 默认情况下,我的所有表行都具有row
。 例如:
147 ...
为了尝试更改特定的表数据单元格,我尝试了类似的方法
table.row("#row" + data.job_id).data(variable).draw()
但是这会在每个表数据单元格中的整行上写入数据。 如何在行中指定表数据单元,并使用DataTables API将其写入?
你的代码看起来应该是这样的。 添加initComplete:
$(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); } }); } }); });
我最后通过这里的post找到了解决方案。 基本上必须给每个
一个ID。 然后我可以使用table.cell('#td_5_' + data.job_id).data(variable)
将新数据写入特定单元格。
这是可能的,如果您通读行选择器上的文档,您会注意到它:
也可选择cell()和cell())方法提供从表中选择行的function
所以,如果你去cell
文档 :
您将看到重载的单元格方法:
cell( rowSelector, columnSelector, [ modifier ] )
对于你的情况:
table.cell("#row" + data.job_id,'').data(variable).draw()
var rowId = "row" + data.job_id; var element = document.getElementById(rowId).cells; element[index_of_column].innerHTML = "New content";`
$('#'+table).find('tr#'+rowId).find('td:eq(colNum)').html(newValue);