Jquery 删除rowReorder表中的行会重置重新排序

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(

下面是一个jsfiddle来展示我所说的内容:

您可以单击并拖动“订单”或“名称”列。要重新创建此问题,请执行以下操作: 1.将“名称4”拖到顶部,使其位于“名称1”上方 2.单击“名称2”旁边的删除按钮

删除“名称2”时,“名称4”将返回其原始位置。我怎样才能让它保持原样?我觉得我错过了一些明显的东西。谢谢

特别好奇为什么这没有达到我的预期:

$(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()调用导致了我的问题。