保存时,在javascript计算之后,值不会更新
本文关键字:之后 更新 计算 javascript 保存 | 更新日期: 2023-09-27 18:33:51
我的表格上有几个textboxes
。费用少,余额少。
当费用textboxes
发生变化时,我使用 javascript 来计算余额,如下所示:
$(document).ready(function () {
// add up main numbers
$("input[class*='add']").change(function (event) {
var sum = 0;
var subsum = 0;
var num = 0;
$("input[class*='add']").each(function (event) {
num = parseInt($(this).val()) || 0;
sum = sum + num;
});
$("input[class*='minus']").each(function (event) {
num = parseInt($(this).val()) || 0;
sum = sum - num;
});
$("input[class*='addcost']").each(function (event) {
num = parseInt($(this).val()) || 0;
subsum = subsum + num;
});
var balance = $("input[id*='txtBegBal']").val() - sum;
$("input[id*='txtEnding']").val(balance);
$("input[id*='txtTotalCost']").val(subsum);
});
结果在屏幕上显示正确,但是当我单击"保存"时,txtTotalCost
仍然显示该值,javascript
更新它之前,因此无法正确保存。
有人可以指出我正确的方向吗?
我在if (!Page.IsPostBack)
内做了我所有的填充.我为"费用"更改的值传递得很好,只是计算字段没有。
这只是一个猜测,但 txtTotalCost 是否被禁用?禁用的文本字段不会像这样更新,因为客户端浏览器在禁用时不会将表单数据发送回服务器。在这种情况下,你将获得视图状态中的旧值。尝试启用它,或者您可以使用标签和隐藏的输入字段。
第二个建议是你的字段还不存在。尝试使用
$("input[class*='add']").on('change', function() {
// your code here
});