我有一个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 :(得分:4)
$(value)
为您提供jQuery包装的元素,而不是实际值。
如果元素是表单输入,则需要$(value).val()
,否则需要$(value).text()
。
此外,您应该使用new Number(...)
,甚至是Number(...)
,而不是+...
:
$('.product .price .value').each(function (index, value) {
total += +$(value).val();
});
有关new Number
和Number
之间的区别,请参阅this question。