我创建了一个函数来交换表中的行,但它似乎无法正常工作。行的数据似乎与数组中的数据不匹配。任何人都可以帮助指出我的代码中的错误,或者我可能如何滥用某些 DataTable 函数?
function swapDataTableRows(selector, row1Index, row2Index)
{
var datatable = selector.DataTable();
var rows = datatable.rows().data();
var row1Data = datatable.row(row1Index).data();
var row2Data = datatable.row(row2Index).data();
datatable.row(row1Index).data(row2Data);
datatable.row(row2Index).data(row1Data);
}
swapDataTableRows(table, 2, 3) - 它将交换第 1 行和第 2 行。如果我将 1 添加到索引,它就会超出范围。
最佳答案
我不确定是否理解您的问题...
我尝试创建一个简单的演示来理解:
...在您的函数中,您永远不会使用新的(已编辑的)数据绘制
表格:
我更改了您脚本的这两行:
datatable.row(row1Index).data(row2Data);
datatable.row(row2Index).data(row1Data);
然后我添加 .draw()
:
datatable.row(row1Index).data(row2Data);
datatable.row(row2Index).data(row1Data);
width .draw()
还有 DOM 变化和 ROW1 和 ROW2 交换。
关于javascript - JQuery 数据表交换行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28025838/