0

我有一个 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 但它仍然不起作用...

4

1 回答 1

4

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

$(value).val()如果元素是表单输入,或者不是,您想要代替$(value).text()

此外,new Number(...)您应该只使用Number(...), 甚至+...

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

请参阅此问题new Number了解和之间的区别Number

于 2011-02-24T13:56:51.987 回答