0

当我更改数量以反映新成本(数量 * 价格)时,我正在尝试更新此字段(订单成本)

<td class="result" align="right">$<Input type="text" maxLength="9" style="text-align:right; width:55px;" align="right" id="OC<%=i %>" value="<%=formatnumber(rstBevInventory("avg_unit_cost"),2)*proposed %>"/></td>

它计算原始总数,但是当我更改数量时,它会调用这个 Javascript 函数:

function reCalcOrder(i){
    document.getElementById("OC"+i).value = document.getElementById("P"+i).value * document.getElementById("Q"+i).value;
    cost = document.getElementById("OC"+i).value;
    Math.round(cost * 100) / 100;
    document.getElementById("OC"+i).set("value", "cost");
        if (document.getElementById("Q"+i).value < 0){
            document.getElementById("Q"+i).value = 0;
        }
}

我得到的数字太多了,这似乎是因为 Javascript 处理乘法的方式。当数量字段改变时,有没有办法让 ASP 做出反应?因为 ASP 似乎可以毫无问题地进行数学运算。

提前谢谢!

4

1 回答 1

1

是的,有,使用 Ajax。但是我相信如果您更改此行,您也会解决问题:

Math.round(cost * 100) / 100;

cost = Math.round(cost * 100) / 100;

另一种选择是使用Number.prototype.toFixed

cost = cost.toFixed(2);
于 2012-12-07T17:10:29.573 回答