DataTable Cell Update命令仅更新第一页

问题描述 投票:0回答:1

我有一个包含大约100行的数据表,但一次显示10行,并分页到其他行。如何动态更新数据表当前页面中的单元格。我的代码似乎是更新第一页的行(选定行),即使我在第5页。

var NowVariants = 3; 
var row = 4;
var t = $('#mydatatable').DataTable();
t.cell(':eq('+row+')',8).data(NowVariants).draw();

我希望我的更新发生在我当前的数据表页面上。

javascript jquery datatables
1个回答
1
投票

直接回答你的问题:

t.cell($('tr:eq('+row+')', t.table().body()), 8).data(NowVariants).draw();

但是,上面的代码可能不适用于操纵表体的DataTables扩展,如FixedHeader等。

另外,我不赞成在这里使用行索引。使用类或获取所选行的行索引可能更好。

例如,如果您可以将selected类分配给选定的行,那么代码将是:

t.cell($('.selected', t.table().body()), 8).data(NowVariants).draw();

如果在选择行时使用row().index() API方法可以获取所选行的行索引,则代码将为:

t.cell(rowIndex, 8).data(NowVariants).draw();

此外,最好调用draw(false),因为这将保留更新之间的当前页面,有关更多信息,请参阅draw()

© www.soinside.com 2019 - 2024. All rights reserved.