http://jsfiddle.net/5axh3xzs/33/
物品的价格是20。 当我点击加号3次时,物品的价格显示为120而不是60
请让我知道我在哪里做错了
这是我的代码
http://jsfiddle.net/5axh3xzs/33/
$(document).on('click', '.icon-plus', function (e) {
var value = parseInt($(this).closest('div').find('.QtyInput').val());
$(this).closest('div').find('.QtyInput').val(value+1);
if(value>0)
{
var currentsellprice = parseInt($(this).closest('.lastItm_Wrap').find('.Itm_right_aside .sellprice').text());
var currentquantity =parseInt($(this).closest('div').find('.QtyInput').val());
$(this).closest('.lastItm_Wrap').find('.Itm_right_aside .sellprice').text(currentsellprice*currentquantity);
}
});
你可以告诉我我在哪里做错了吗?
答案 0 :(得分:1)
您每次都会乘以计算出的值。
以下内容将解决您的问题:
$(this).closest('.lastItm_Wrap').find('.Itm_right_aside .sellprice').text((currentsellprice / (currentquantity - 1))*currentquantity);
有了它,你重新计算"基本卖价"。
但这个解决方案并不是很好。最好将基本价格存储在自己的div中并打印基本价格和计算的总价格。
答案 1 :(得分:0)
您需要有办法存储Item Price
。
我使用data
元素中的<h3>
属性为Item2
存储了它。
您可以对其他项目执行相同的操作。
JS:
$(document).on('click', '.icon-minus', function (e) {
var value = parseInt($(this).closest('div').find('.QtyInput').val());
if(value>=1)
{
$(this).closest('div').find('.QtyInput').val(value-1);
}
});
$(document).on('click', '.icon-plus', function (e) {
var value = parseInt($(this).closest('div').find('.QtyInput').val());
$(this).closest('div').find('.QtyInput').val(value+1);
if(value>0)
{
var currentsellprice = parseInt($(this).parent().prev().data('price')); // get the data "price" of item
console.log("currentsellprice = " + currentsellprice);
var currentquantity =parseInt($(this).closest('div').find('.QtyInput').val());
console.log("currentquantity = " + currentquantity);
$(this).closest('.lastItm_Wrap').find('.Itm_right_aside .sellprice').text(currentsellprice*currentquantity);
}
});