我创建了一个函数来交换表中的行,但是它似乎无法正常工作。行的数据似乎与数组中的数据不匹配。任何人都可以帮助指出我代码中的错误,或者我可能会滥用某些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加到索引上,它将超出范围。
最佳答案
我不确定您的问题...
我尝试创建一个简单的演示来理解:
http://jsfiddle.net/q0zb1rkc/
...在您的函数中,您永远不会draw
带有新(已编辑)数据的表:
我更改了脚本的这2行:
datatable.row(row1Index).data(row2Data);
datatable.row(row2Index).data(row1Data);
我添加
.draw()
:datatable.row(row1Index).data(row2Data);
datatable.row(row2Index).data(row1Data);
宽度
.draw()
也会更改DOM,并交换ROW1和ROW2。