【问题标题】:javascript sum returning NaN errorjavascript sum 返回 NaN 错误
【发布时间】:2011-07-03 14:16:25
【问题描述】:

我有一个 JavaScript 购物篮,其中总和几乎每次都返回 NaN 错误。 在我的代码中

    $('#add-to-basket select').selectbox();
    $('#contents select').selectbox().change(function (e) {
        var product = $(this).parents('.product');
        var ppu     = product.find('.ppu').val();
        product.find('.price .wrapper .value').text($(this).val() * ppu);

        var total   = 0;

        $('.product .price .value').each(function (index, value) {
            total += new Number($(value));
        });

        var form = $(this).parents('form');
        form.ajaxSubmit(function () {
        });

        $('#total .value').text(total);
    });

我尝试使用 parsefloatm 但它仍然不起作用...

【问题讨论】:

  • 我必须说,当我刷新页面时,总和显示正确
  • 是的,我在吹毛求疵。 :) 但是这里有一个严肃的点——一个错误会停止你的程序的执行。 NaN 在最坏的情况下是一个不需要的值。

标签: php javascript nan


【解决方案1】:

$(value) 为您提供 jQuery 包装的元素,而不是实际值。

如果元素是表单输入,则需要 $(value).val(),否则需要 $(value).text()

另外,你应该使用Number(...),甚至+...,而不是new Number(...)

$('.product .price .value').each(function (index, value) {
    total += +$(value).val();
});

请参阅this question 了解new NumberNumber 之间的区别。

【讨论】:

    猜你喜欢
    • 2018-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-19
    • 1970-01-01
    • 1970-01-01
    • 2015-05-09
    相关资源
    最近更新 更多