我在页面中使用 jQuery 和 DataTables,它从服务器获取数据并非常愉快地填充表格。
我需要进行更改以确保来自 dataTables 库的从服务器获取数据的请求以定义的顺序发生。我还需要能够在需要时触发更新(所有表的正确顺序) - 所以需要一个函数来触发适当的代码。
我的页面中有 3 个表格。我尝试在第一个表的回调方法中为下一个表添加一个 table.fnReloadAjax() 调用,这似乎只触发前两个表的刷新或根本不触发。
我还尝试创建一个函数来调用 3 个单独的函数,该函数依次在每个表上调用 fnReloadAjax(),但是由于异步,对服务器的请求顺序会有所不同。
我已经尝试过,这似乎并没有达到我希望的效果。希望这能说明我的目标:
firstTable= $('#firstShipment').dataTable({
"bServerSide": true,
...<snip>...
"fnInfoCallback": function (oSettings, iStart, iEnd, iMax, iTotal, sPre) {
secondTable.fnReloadAjax();
}
});
secondTable= $('#firstShipment').dataTable({
"bServerSide": true,
...<snip>...
"fnInfoCallback": function (oSettings, iStart, iEnd, iMax, iTotal, sPre) {
thirdTable.fnReloadAjax();
}
});
thirdTable= $('#firstShipment').dataTable({
"bServerSide": true,
...<snip>...
"fnInfoCallback": function (oSettings, iStart, iEnd, iMax, iTotal, sPre) {
//this is the last table, do nothing on completion
}
});
我对在 dataTables 的 init 中定义的解决方案(我在上面尝试做的事情)或我可以定期调用以强制进行有序更新的单独函数感到非常满意。