根据 jquery 中各自的索引从数据表中删除多行

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

我想根据各自的索引从数据表中删除一些行。索引是数组的形式。单击按钮后,该函数获取数组并在数据表中找到它们中的每一个,然后将其删除。我已经能够创建代码并且它能够完美执行。现在的问题不是所有行都被删除,可以说我们有 5 行我们要删除,仅删除 2 行。我如何删除表中具有所有相应索引的所有行。这是我的代码

var productsIds=['2','3','4','5','6']
var productsTable=$('#productsTable').DataTable()

productsIds.forEach(function(id) {
    var columnIndex = 0;
    var rowIndex = productsTable.column(columnIndex).data().indexOf(id);
    productsTable.row(rowIndex).remove();
});

productsTable.draw();
javascript jquery foreach datatable
1个回答
0
投票

以相反的顺序删除行以避免索引移位问题 或使用不同的方法来避免在迭代表时修改表 反转 productsIds 数组这可以确保当删除行时,尚未删除的行的索引不受影响 检查 rowIndex 是否有效 在尝试删除行之前,请确保 rowIndex 不为 -1,这表示未找到具有给定 ID 的行 或者,您可以先收集要删除的行,然后在单独的循环中删除它们:

先收集索引将要删除的行的索引存储在数组中。 排序和删除 按降序对数组进行排序,首先从表末尾删除行,从而避免索引移位问题 删除行迭代排序数组以删除行 使用任一方法都将确保从数据表中正确删除所有指定的行

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