【问题标题】:Value is not updated when saving, after javascript calculationsjavascript计算后保存时不更新值
【发布时间】:2013-10-03 15:59:41
【问题描述】:

我的表格上有一对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) 中进行所有填充。我为“费用”更改的值可以很好地传递,只是计算字段没有传递。

【问题讨论】:

  • 保存更改的剩余代码在哪里。保存点击时发生了什么..
  • 你能不能把一个 jsfiddle 放在一起显示它不起作用?

标签: c# javascript jquery asp.net .net


【解决方案1】:

这里只是一个猜测,但 txtTotalCost 是否已禁用? 禁用的文本字段不会像这样更新,因为客户端浏览器在禁用时不会将表单数据发送回服务器。在这种情况下,您将获得视图状态中的旧值。尝试启用它,或者您可以使用标签和隐藏的输入字段。

【讨论】:

    【解决方案2】:

    第二个建议是您的字段尚不存在。尝试使用

     $("input[class*='add']").on('change', function() { 
         // your code here 
     });
    

    【讨论】:

      猜你喜欢
      • 2016-12-13
      • 1970-01-01
      • 2016-04-22
      • 1970-01-01
      • 1970-01-01
      • 2012-11-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多