改了下:
jQuery实现购物车多物品数量的加减+总价计算
有些地方重新设计下。加个小计。
单价:2.0
小计:¥
$(function(){
$(".text_box").live("change",function(){
var total = 0;
$(".tdprice").each(function(){
var price = $(this).find(".price").text();
var num = $(this).find(".text_box").val();
var subtotal = parseFloat(price)*parseInt(num);
if(isNaN(subtotal)){
subtotal = 0;
}
$(this).find(".subtotal").text(subtotal.toFixed(2));
total += subtotal;
});
$("#total").text(total.toFixed(2));
});
$(".add").click(function(){
var $num = $(this).siblings(".text_box");
var num = parseInt($num.val());
if(num >= 0){
$num.val(num + 1);
$num.trigger("change");
}
});
$(".min").click(function(){
var $num = $(this).siblings(".text_box");
var num = parseInt($num.val());
if(num > 0 ){
$num.val(num - 1);
$num.trigger("change");
}
});
})
$(function(){
$(".add").click(function(){
var t=$(this).parent().find('input[class=text_box]');
t.val(parseInt(t.val())+1);
setTotal();
});
$(".min").click(function(){
var t=$(this).parent().find('input[class=text_box]');
t.val(parseInt(t.val())-1)
if(parseInt(t.val())<0){
t.val(0);
}
setTotal();
});
function setTotal(){
var s=0;
$("#tab .tdprice").each(function(){
//alert($(this).find('input[class=text_box]').val());
s+=parseInt($(this).find('input[class=text_box]').val())*parseFloat($(this).find('span[class=price]').text());
});
$("#total").html(s.toFixed(2));
}
setTotal();
})
然后
单价:1.95