2011-02-24 147 views
0

我有一個JavaScript購物籃,其中總和返回NaN的錯誤,幾乎每一次。 在代碼中,我有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但仍然不到風度工作...

+0

我必須說,當我刷新頁面,總和正確顯示 – dana 2011-02-24 13:54:11

+0

楠不是一個錯誤。 – awm 2011-02-24 13:55:12

+0

是的,我吹毛求疵。 :)但這裏有一個重要的問題 - 一個錯誤會停止執行你的程序。 NaN最糟糕的是不想要的價值。 – awm 2011-02-24 14:01:23

回答

4

$(value)給你的jQuery包裹的元素,而不是實際值。

你想$(value).val()代替如果這些元素的形式輸入,或者如果沒有$(value).text()

此外,而不是new Number(...)你應該只使用Number(...),甚至+...

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

new NumberNumber的區別見this question

+0

謝謝!現在完美運作。 – dana 2011-02-24 15:38:13