可能的重复:
JavaScript 的数学被破坏了吗?
从这个问题: 获取所有输入值并进行加法
有一个促销:
买1个价格是14.37,买10个价格是13.28,买20个价格是10.78.....
现在我想做一个柜台。http://down123.xxmn.com/count.htm
柜台写了整个价格。现在,我的代码有问题。
如果我在一个输入框中填写 5,然后在另一个输入框中填写 5。整个价格不是132.8。为什么?
如果我在输入框中删除一个数字,整个价格不会改变。谢谢你
编码:
var $inputs = jQuery('.liste_couleur_qty li input');
$inputs.keyup(function() {
var result = 0;
$inputs.each(function(){
result += parseInt(this.value, 10);
});
var JsonData =[{"price_id":"1","website_id":"0","price_qty":1,"price":"14.37"},
{"price_id":"2","website_id":"0","price_qty":10,"price":"13.28"},
{"price_id":"3","website_id":"0","price_qty":20,"price":"10.78"},
{"price_id":"3","website_id":"0","price_qty":50,"price":"9.23"},
{"price_id":"3","website_id":"0","price_qty":100,"price":"7.91"}
]
var sorted = JsonData.sort(function(a,b){return a.price_qty - b.price_qty;});
var i=0;
while(i < sorted.length && sorted[i].price_qty <= result){i++;}
var price = sorted[i-1].price;
price= price*result;
jQuery('#qtyvalue').html("Total price is " + price);
});
现在,当数量为 9 时,正确的价格为 9*14.37。但我的计数器不对。