javascript сумма, возвращающая ошибку NaN - PullRequest
0 голосов
/ 24 февраля 2011

У меня есть корзина покупок 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, но все равно это не работает ...

1 Ответ

4 голосов
/ 24 февраля 2011

$(value) дает вам обернутый в jQuery элемент, а не фактическое значение.

Вместо * вы хотите $(value).val(), если элементы являются входными данными формы, или $(value).text(), если нет.

Кроме того, вместо new Number(...) вы должны просто использовать Number(...) или даже +...:

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

См. в этом вопросе о разнице между new Number и Number.

...