我正在尝试将数字加到当前值。我想要做的几乎是使用jQuery的简单购物车。
但是,我面临的问题是这些数字根本不会加起来。但相反,数字会被新的数字取代!
事实上,我有一些奇怪的行为!
为了更好地解释这一点,我创建了这个FIDDLE
我的代码是:
$('.addons').click(function() {
var price2 = +$(this).attr('data-price');
$('#fuelcellprice').val(price2);
var inputval = +$('#fuelcellprice').val();
var finaltotal = price2 + inputval;
alert(finaltotal);
});
有人可以就此问题提出建议吗?
答案 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()