购物车全选加减 总计等
<script>
$(function() {
// 全选
var arr=[];
$(".cart-Bcheck-l input").click(function() {
var flag = $(this).prop("checked");
if(flag) {
$(".cart-cent-top-l input").prop("checked", true);
$('.cart-cent-top').each(function(){
arr.push($(this).attr('value'));
// console.log(arr);
localStorage.setItem("id", arr);
});
} else {
$(".cart-cent-top-l input").prop("checked", false);
$('.cart-cent-top').each(function(){
arr =[];
localStorage.setItem("id", arr);
// console.log(cid);
});
}
counts();
totalPrice();
});
//单选
$(".cart-cent-top-l input").click(function() {
var flag = $(this).prop("checked"); //获取当前input的状态
var CL = $(".cart-cent-top-l input").length; //列表长度;
var CH = $(".cart-cent-top-l input:checked").length; //列表中被选中的长度
if(flag) {
arr.push($(this).attr("idnum"));
localStorage.setItem("id", arr);
// console.log(arr);
}else{
var a =$(this).attr("idnum");
arr.splice($.inArray(a,arr),1)
localStorage.setItem("id", arr);
}
if(CL == CH) {
$(".cart-Bcheck-l input ").prop("checked", true);
} else {
$(".cart-Bcheck-l input ").prop("checked", false);
}
counts();
totalPrice();
})
//数目加
$(".Increase").click(function() {
var num = $(this).prev().val();
var price = parseFloat($(this).parent().parent().parent().parent().find('input[name="checkbox"]').val());
num++;
$(this).prev().val(num);
var cid = $(this).attr("cid");
// console.log(cid);
// // console.log(cid);
$.ajax({
url:"/wx/addcart",
type:"GET",
data:{id:cid,num: num},
success:function(data){
},
});
// 小计
$(this).parent().parent().siblings(".unit").text((price * num));
$(this).parents('.cart-cent-top').find('.unit').text((price * num));
counts();
totalPrice();
})
//数目减
$(".DisDe").click(function() {
var num = $(this).next().val();
var price = parseFloat($(this).parent().parent().parent().parent().find('input[name="checkbox"]').val());
num--;
if(num <= 0) {
num = 1
}
$(this).next().val(num);
var cid = $(this).attr("cid");
$.ajax({
url:"/wx/addcart",
type:"GET",
data:{id:cid,num: num},
success:function(data){
},
});
// 小计
$(this).parent().parent().siblings(".unit").text((price * num));
$(this).parents('.cart-cent-top').find('.unit').text((price * num));
counts();
totalPrice();
})
//文本框脱里焦点处理
$('.num').each(function(i) {
$(this).blur(function() {
let p = parseFloat($(this).parents('tr').find(".subtotal").text());
let c = parseFloat(this.value);
// console.log(p*c);
$(this).parents('tr').find(".subtotal").text((c * p).toFixed(2));
counts();
totalPrice();
})
})
//监听单品输入的数量
$('.cart-cent-num input').live('input propertychange', function()
{
//获取input 元素,并实时监听用户输入
//逻辑
var num = $(this).val();
if(num == ''){
num =1;
$(this).val(num);
}
var prices = $(this).parent().parent().parent().parent().find('input[name="checkbox"]').val();
var cid =$(this).prev().attr("cid");
$(this).parent().parent().parent().find(".unit").text( num * prices);
counts();
totalPrice();
})
//监听套餐输入的价格 .toFixed(2)
$('.ptgood input').live('input propertychange', function()
{
//获取input 元素,并实时监听用户输入
//逻辑
var num = $(this).val();
if(num == ''){
num =1;
$(this).val(num);
}
var prices = $(this).parent().parent().parent().parent().find('input[name="checkbox"]').val();
var cid =$(this).prev().attr("cid");
$(this).parents('.cart-cent-top').find(".unit").text( num * prices);
counts();
totalPrice();
})
//全删除
$("#checkAll button").click(function() {
var flag = $(this).prev().children().prop("checked");
// console.log(flag);
if(flag) {
if(confirm("是否确定删除")) {
$(".check").parent().remove();
var CL = $(".check input").length; //列表长度;
if(CL == 0) {
$("#checkAll label input").prop("checked", false);
$("#checkAll label").css("background", "url(img/confirm_no.png) no-repeat center left");
}
counts();
totalPrice();
}
}
})
//总价格
totalPrice();
function totalPrice() {
var prices = 0;
$('.cart-cent-top-l input:checked').each(function(i) {
prices += parseFloat($(this).parents(".cart-cent-top").find('.unit').text());
})
$(".cont-foot-pay-price").text(prices);
}
//总数目
counts();
function counts() {
var sum = 0;
$('.cart-cent-top-l input:checked').each(function(i) {
sum += parseInt($(this).parents(".cart-cent-top").find('.text_box').val());
})
$(".cont-foot-pay-num").text(sum);
}
})
</script>