javascript - JQuery 数据表交换行

标签 javascript jquery datatables

我创建了一个函数来交换表中的行,但它似乎无法正常工作。行的数据似乎与数组中的数据不匹配。任何人都可以帮助指出我的代码中的错误,或者我可能如何滥用某些 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/

...在您的函数中,您永远不会使用新的(已编辑的)数据绘制表格:

我更改了您脚本的这两行:

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/

相关文章:

javascript - Yii2。 $(document).ready 故障排除

javascript - 如何根据对象的值从对象中省略 key 对?

javascript - 水平下拉菜单鼠标悬停问题

javascript - JQuery AJAX JSON。无法从 JSON 文件获取结果?

javascript - 页面加载自动选择下拉框选项

jquery - DataTables/jQuery UI 选项卡标题宽度错误

javascript - 如何创建具有重叠 View 的轮播? [包含 jsFiddle 和 ASCII 艺术}

javascript - jQuery 通过 Div 中的多个图像在 MouseOver 上淡入淡出

jquery - datatables jquery - 行的替代颜色

jquery - 如何让 jQuery DataTables 对隐藏值进行排序,但对显示值进行搜索?