jquery:将数字加到当前值?

时间:2015-11-28 17:07:52

标签: javascript jquery

我正在尝试将数字加到当前值。我想要做的几乎是使用jQuery的简单购物车。

但是,我面临的问题是这些数字根本不会加起来。但相反,数字会被新的数字取代!

事实上,我有一些奇怪的行为!

为了更好地解释这一点,我创建了这个FIDDLE

我的代码是:

$('.addons').click(function() {
   var price2 = +$(this).attr('data-price'); 
   $('#fuelcellprice').val(price2); 
   var inputval = +$('#fuelcellprice').val();
   var finaltotal = price2 + inputval;

   alert(finaltotal);
});

有人可以就此问题提出建议吗?

2 个答案:

答案 0 :(得分:1)

如果#fuelcellprice存储您的总和,请将其设置在处理程序的最后。不要使用+,这会误导这个目的。我建议您重命名变量以相应地反映您的意图:

$('.addons').click(function() {

   var itemPrice = $(this).attr('data-price');
   var currentSum = $('#fuelcellprice').val();
   var sum = itemPrice + currentSum;

   $('#fuelcellprice').val(sum); //store your final value here

   alert(sum);

});

答案 1 :(得分:1)

1,您需要使用parseFloat()

第二,我不知道你为什么在将$('#fuelcellprice').val()设置为price2时使用var inputval = 0; $('.addons').click(function() { var price2 = parseFloat($(this).attr('data-price')); $('#fuelcellprice').val(price2); inputval += price2; alert(inputval); });

试试这个

intrinsicContentSize()

Working Demo