【问题标题】:jQuery Sum show NaNjQuery Sum 显示 NaN
【发布时间】:2015-04-19 19:13:29
【问题描述】:

在价格键上,我正在计算(数量 * 单价)单个产品的总价,最后我有一个字段,它将自动生成所有单个总计的总计。我能够自动计算个人总数,但我被困在总数上。它显示了 NaN。我该如何解决?

代码:

$('.prc').on('keydown keyup', function(){
    // total_array = [];
    flag = $(this).attr('flag');
    prc = $(this).val();
    qntty = $('.qntty_'+flag).val();
    mul = prc * qntty;

    total = 0;

    total = total + parseFloat($('.total_'+flag).val(mul));

    $('#total').val(total);

})

【问题讨论】:

  • .val(mul) 返回求和时转换为 NaN 的 jQuery 对象
  • 那我该如何解决呢?
  • val设置值时不返回值,而是返回jQuery对象。不能同时设置值和返回值。
  • @WahidSherief 您必须将输入值与求和分开设置:$('.total_'+flag).val(mul); total = total + parseFloat(mul);
  • 类似this的东西,注意total变量是没用的,零加数字没有意义,你基本上是把底部的两个元素的值都设置为同样的事情

标签: javascript jquery onkeyup


【解决方案1】:

我是多么愚蠢,或者我是多么的天才.. 对自己很生气.. cz 我神奇地解决了它,添加了一些代码。在所有总类中添加一个类“e”并运行每个操作,获取值并将它们相加以求和。终于开心了。

工作代码:

        $('.prc').on('keydown keyup', function(){

            var sum = 0;
            flag = $(this).attr('flag');
            prc = $(this).val();
            qntty = $('.qntty_'+flag).val();
            mul = parseFloat(prc) * parseFloat(qntty);

            $('.total_'+flag).val(mul);

            $('.e').each(function(){
                sum += +$(this).val()
            })

            $('#total').val(sum);
        })

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-15
    • 2018-01-14
    • 2019-01-26
    • 2018-04-11
    • 2011-07-03
    • 2015-01-22
    相关资源
    最近更新 更多