您好在jquery数据表渲染函数中感到困惑,我的表中有两列,一个是折扣百分比,另一个是折扣金额,这两列相互依赖。输入折扣金额后,需要计算折扣百分比,反之亦然。
为此,我使用了JQuery datatables列渲染功能。 https://datatables.net/reference/option/columns.render
但是我的逻辑似乎在某个地方坏了,它的计算很简单,
问题是,无论更改哪一列,这两个渲染函数都始终执行,例如
总金额:100
当表单加载时,我输入折扣%10,它可以正常工作(折扣金额字段中没有任何数据),折扣金额更改为10。
但是随后我尝试将折扣金额字段更改为20,折扣百分比未更改,因为当我按顺序输入渲染功能时,折扣百分比渲染功能将首先执行,并且其值仍为10,且金额保持不变,有了这个数据表限制,我可以实现我想要的吗?
{
"targets": [6], // For Discount Percentage
"render": function(data, type, row) {
debugger;
var amount1;
if (data != '' && data != row.DISCPERCENT) {
amount1 = Math.round((data * (row.QTY1 * row.RATE)) / 100);
row.DISC_AMT = amount1;
return amount1;
}
}
}
{
"targets": [7], // Discount Amount
"render": function(data, type, row) {
debugger;
//if ( row.DISC_AMT == data)
// return data;
//else {
var amount1;
if (data != '' && data != row.DISC_AMT) {
amount1 = Math.round((data / (row.QTY1 * row.RATE)) * 100);
row.DISCPERCENT = amount1;
}
}
}