我想根据各自的索引从数据表中删除一些行。索引是数组的形式。单击按钮后,该函数获取数组并在数据表中找到它们中的每一个,然后将其删除。我已经能够创建代码并且它能够完美执行。现在的问题不是所有行都被删除,可以说我们有 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();
以相反的顺序删除行以避免索引移位问题 或使用不同的方法来避免在迭代表时修改表 反转 productsIds 数组这可以确保当删除行时,尚未删除的行的索引不受影响 检查 rowIndex 是否有效 在尝试删除行之前,请确保 rowIndex 不为 -1,这表示未找到具有给定 ID 的行 或者,您可以先收集要删除的行,然后在单独的循环中删除它们:
先收集索引将要删除的行的索引存储在数组中。 排序和删除 按降序对数组进行排序,首先从表末尾删除行,从而避免索引移位问题 删除行迭代排序数组以删除行 使用任一方法都将确保从数据表中正确删除所有指定的行