Jquery 删除rowReorder表中的行会重置重新排序
下面是一个jsfiddle来展示我所说的内容: 您可以单击并拖动“订单”或“名称”列。要重新创建此问题,请执行以下操作: 1.将“名称4”拖到顶部,使其位于“名称1”上方 2.单击“名称2”旁边的删除按钮 删除“名称2”时,“名称4”将返回其原始位置。我怎样才能让它保持原样?我觉得我错过了一些明显的东西。谢谢 特别好奇为什么这没有达到我的预期:Jquery 删除rowReorder表中的行会重置重新排序,jquery,datatables-1.10,Jquery,Datatables 1.10,下面是一个jsfiddle来展示我所说的内容: 您可以单击并拖动“订单”或“名称”列。要重新创建此问题,请执行以下操作: 1.将“名称4”拖到顶部,使其位于“名称1”上方 2.单击“名称2”旁边的删除按钮 删除“名称2”时,“名称4”将返回其原始位置。我怎样才能让它保持原样?我觉得我错过了一些明显的东西。谢谢 特别好奇为什么这没有达到我的预期: $(document).on("click", ".myTableDeleteRow", function() { table .row(
$(document).on("click", ".myTableDeleteRow", function() {
table
.row($(this).parents('tr'))
.remove()
.rows().every(function(rowidx) {
var data = this.data();
data[0] = rowidx + 1;
this.data(data);
})
.draw(false);
});
这里有一个解决方案,不只是使用tableData
$(document).on("click", ".myTableDeleteRow", function() {
table
.row($(this).parents('tr'))
.remove()
.draw(false);
$.each($('#myTable tr td:first-child'),function(index,val){
$(this).html(index+1)
});
});
我从未使用过dataTable,但我假设它是,因为在调用
remove()
之后,您会得到rows()
,这可能是指表的初始声明。在进行此操作之前,您可能需要更新表。这也是我最初的想法。删除行后,我尝试调用draw(),但没有改变任何内容。不幸的是,我认为这是特定于rowReorder dataTables插件正在做的事情,所以我一直很难找到答案。这很有效!非常感谢。看起来第二个draw()调用导致了我的问题。