我正在做一个ajax请求,它返回给我一个Id。 我的想法是在不重新加载页面的情况下更新我的数据表。 我完全得到行索引。并完美地设置行类。 但现在我想在该行的某些单元格中设置一些值。 我无法得到它。它说'table.cell不是一个函数'。 这是我的代码:
$.ajax({url: "trasladosDespacharGuardar.php?&todos=NO&login=<?=$textLogin?>&idTraslado="+idTraslado+"&movil="+text+"&fecha=<?=$fecha?>&filtroTraslados=<?=$filtroTraslados?>", success: function(result)
{
id = parseInt(result);
var index = table.fnFindCellRowIndexes( id, 1 );
var row = table.api().row(index).node();
$(row).addClass('warning');
//Up to this point , everything is perfect
var cell = table.cell(index,5);
cell.data('Helloo');
}});
答案 0 :(得分:4)
要按照OP中建议的方式使用cell
,请使用{ row, column }
选择器并使用draw()
最终确定:
table.cell({ row: index, column: 5 }).data('Helloo').draw();
关于'table.cell不是函数',dataTable可能未使用DataTable()
,大写D
进行初始化。如果有理由使用dataTable()进行初始化,我们仍然可以通过api()
访问API:
table.api().cell({ row: index, column: 5 }).data('Helloo').draw();
答案 1 :(得分:0)
虽然@davidkonrad的答案是正确的,但有一个考虑因素-rowIndex是行加载的顺序,而不是当前显示的顺序。如果要基于当前位置表格,像这样使用jQuery可能是最简单的-
$('#yourTableId tbody tr:eq(rowIndex) td:eq(columnIndex)').text('yourvalue');