gpt4 book ai didi

javascript - 一列数据更新后更新表(重新计算)

转载 作者:行者123 更新时间:2023-11-28 02:40:50 24 4
gpt4 key购买 nike

我正在构建一个带有启用 DataTable 的表格的简单页面。

来 self 的服务器的数据如下所示:

[{"name": "John","salary": 2000,"bonus1": 100,"bonus2": 100},
{"name": "Jack","salary": 2500,"bonus1": 0,"bonus2": 200},
{"name": "Bill","salary": 2000,"bonus1": 300,"bonus2": 300}
]

我需要添加并计算第五列,该列代表员工工资的百分比值(工资/所有工资的总和)

fnPreDrawCallback中,我可以修改oSettings.aoData,因此当我执行console.log(oSettings.aoData)时,我会得到正确的值,但表中该列为空。

我的 fnPreDrawCallback 函数如下所示:

"fnPreDrawCallback": function (oSettings) {
iTotal = [0, 0, 0]; //declared in $(document).ready
var dataLength=oSettings.aoData.length;
for (var i = 0; i < dataLength; i++) {
iTotal[0] += oSettings.aoData[i]._aData.salary;
iTotal[1] += oSettings.aoData[i]._aData.bonus1;
iTotal[2] += oSettings.aoData[i]._aData.bonus2;
}

for (i = 0; i < dataLength; i++) {
oSettings.aoData[i]._aData.percent=(oSettings.aoData[i]._aData.salary / iTotal[0] * 100).toFixed(2)+'%';

}
console.log(oSettings.aoData);
},

这是我的代码:http://live.datatables.net/umezez/13/edit

我的问题:我应该在哪里更新数据以便更新在表格中可见?

我想避免使用选择器和更新 DOM 内容,因为我希望能够使用 TableTools 或服务器端处理导出我的表。

最佳答案

我不明白你为什么不简单地做这两件事,更新aoData(以便你可以导出)并自己更新html(以便它正确显示)

我知道这是一个黑客行为,但它应该有效:)

http://live.datatables.net/umezez/16/edit

使用 fnUpdate() 进行编辑

http://live.datatables.net/umezez/23/edit

关于javascript - 一列数据更新后更新表(重新计算),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12669303/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com