购物车结算

< html lang = "en" >
  
< head >
  < meta charset = "utf-8" >
  < meta http-equiv = "X-UA-Compatible" content = "IE=edge" >
  < title >购物车结算 title >
  < meta name = "description" content = "" >
  < meta name = "keywords" content = "" >
  < meta name = "viewport" content = "width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" />
  < meta name = "format-detection" content = "telephone=no" />
  < meta name = "renderer" content = "webkit" >
 
  < meta name = "apple-mobile-web-app-capable" content = "yes" >
  < meta name = "apple-mobile-web-app-status-bar-style" content = "black" >
  < style >
  .shop-total,
  .all-total {
  height: 50px;
  line-height: 50px;
  font-weight: bold;
  color: #f00;
  float: left;
  }
  
  .one-shop,
  .all-total,
  .shop-total {
  width: 400px;
  }
  
  p {
  margin: 0;
  }
  
  .goods-check {
  width: 25px;
  height: 25px;
  margin-top: 5px;
  }
  
  .goods-msg,
  p,
  label {
  float: left;
  }
  style >
head >
  
< body >
 
  < div class = "one-shop" >
 
  < div class = "one-goods" >
   < div class = "goods-msg" >
   < label for = "" >
    < input type = "checkbox" class = "goods-check GoodsCheck" >
   label >
   < button type = "button" class = "minus" >- button >
   < input type = "text" class = "am-num-text" value = "1" />
   < button type = "button" class = "plus" >+ button >
   div >
   < p >商品单价:¥< span class = "shop-total-amount GoodsPrice" >20.00 span > p >
  div >
 
  < div class = "one-goods" >
   < div class = "goods-msg" >
   < label for = "" >
    < input type = "checkbox" class = "goods-check GoodsCheck" >
   label >
   < button type = "button" class = "minus" >- button >
   < input type = "text" class = "am-num-text" value = "1" />
   < button type = "button" class = "plus" >+ button >
   div >
   < p >商品单价:¥< span class = "shop-total-amount GoodsPrice" >9.90 span > p >
  div >
 
  < div class = "one-goods" >
   < div class = "goods-msg " >
   < label for = "" >
    < input type = "checkbox" class = "goods-check GoodsCheck" >
   label >
   < button type = "button" class = "minus" >- button >
   < input type = "text" class = "am-num-text" value = "1" />
   < button type = "button" class = "plus" >+ button >
   div >
   < p >商品单价:¥< span class = "shop-total-amount GoodsPrice" >10.00 span > p >
  div >
 
  < div class = "shop-total" >
   < label for = "" >
   < input type = "checkbox" class = "goods-check ShopCheck" >店铺全选 label >
   < p >本店合计:¥< span class = "shop-total-amount ShopTotal" >0 span > p >
  div >
  div >
 
  < div class = "one-shop" >
 
  < div class = "one-goods" >
   < div class = "goods-msg" >
   < label for = "" >
    < input type = "checkbox" class = "goods-check GoodsCheck" >
   label >
   < button type = "button" class = "minus" >- button >
   < input type = "text" class = "am-num-text" value = "1" />
   < button type = "button" class = "plus" >+ button >
   div >
   < p >商品单价:¥< span class = "shop-total-amount GoodsPrice" >30.00 span > p >
  div >
 
  < div class = "one-goods" >
   < div class = "goods-msg" >
   < label for = "" >
    < input type = "checkbox" class = "goods-check GoodsCheck" >
   label >
   < button type = "button" class = "minus" >- button >
   < input type = "text" class = "am-num-text" value = "1" />
   < button type = "button" class = "plus" >+ button >
   div >
   < p >商品单价:¥< span class = "shop-total-amount GoodsPrice" >20.00 span > p >
  div >
 
  < div class = "shop-total" >
   < label for = "" >
   < input type = "checkbox" class = "goods-check ShopCheck" >店铺全选 label >
   < p >本店合计:¥< span class = "shop-total-amount ShopTotal" >0 span > p >
  div >
  div >
 
  < div class = "all-total" >
  < label for = "" >
   < input type = "checkbox" class = "goods-check" id = "AllCheck" >全选 label >
  < p >总价合计:¥< span class = "shop-total-amount" id = "AllTotal" >0 span > p >
  div >
  < script src = "http://code.jquery.com/jquery-2.2.0.min.js" > script >
  < script >
  // 数量减
  $(".minus").click(function() {
  var t = $(this).parent().find('.am-num-text');
  t.val(parseInt(t.val()) - 1);
  if (t.val() <= 1) {
   t.val(1);
  }
  TotalPrice();
  });
  // 数量加
  $(".plus").click(function() {
  var t = $(this).parent().find('.am-num-text');
  t.val(parseInt(t.val()) + 1);
  if (t.val() <= 1) {
   t.val(1);
  }
  TotalPrice();
  });
  // 点击商品按钮
  $(".GoodsCheck").click(function() {
  var goods = $(this).closest(".one-shop").find(".GoodsCheck"); //获取本店铺的所有商品
  var goodsC = $(this).closest(".one-shop").find(".GoodsCheck:checked"); //获取本店铺所有被选中的商品
  var Shops = $(this).closest(".one-shop").find(".ShopCheck"); //获取本店铺的全选按钮
  if (goods.length == goodsC.length) { //如果选中的商品等于所有商品
   Shops.prop('checked', true); //店铺全选按钮被选中
   if ($(".ShopCheck").length == $(".ShopCheck:checked").length) { //如果店铺被选中的数量等于所有店铺的数量
   $("#AllCheck").prop('checked', true); //全选按钮被选中
   TotalPrice();
   } else {
   $("#AllCheck").prop('checked', false); //else全选按钮不被选中
   TotalPrice();
   }
  } else { //如果选中的商品不等于所有商品
   Shops.prop('checked', false); //店铺全选按钮不被选中
   $("#AllCheck").prop('checked', false); //全选按钮也不被选中
   // 计算
   TotalPrice();
   // 计算
  }
  });
  // 点击店铺按钮
  $(".ShopCheck").change(function() {
  if ($(this).prop("checked") == true) { //如果店铺按钮被选中
   $(this).parents(".one-shop").find(".goods-check").prop('checked', true); //店铺内的所有商品按钮也被选中
   if ($(".ShopCheck").length == $(".ShopCheck:checked").length) { //如果店铺被选中的数量等于所有店铺的数量
   $("#AllCheck").prop('checked', true); //全选按钮被选中
   TotalPrice();
   } else {
   $("#AllCheck").prop('checked', false); //else全选按钮不被选中
   TotalPrice();
   }
  } else { //如果店铺按钮不被选中
   $(this).parents(".one-shop").find(".goods-check").prop('checked', false); //店铺内的所有商品也不被全选
   $("#AllCheck").prop('checked', false); //全选按钮也不被选中
   TotalPrice();
  }
  });
  // 点击全选按钮
  $("#AllCheck").click(function() {
  if ($(this).prop("checked") == true) { //如果全选按钮被选中
   $(".goods-check").prop('checked', true); //所有按钮都被选中
   TotalPrice();
  } else {
   $(".goods-check").prop('checked', false); //else所有按钮不全选
   TotalPrice();
  }
  $(".ShopCheck").change(); //执行店铺全选的操作
  });
  
  function TotalPrice() {
  var allprice = 0; //总价
  $(".one-shop").each(function() { //循环每个店铺
   var oprice = 0; //店铺总价
   $(this).find(".GoodsCheck").each(function() { //循环店铺里面的商品
   if ($(this).is(":checked")) { //如果该商品被选中
    var num = parseInt($(this).parents(".one-goods").find(".am-num-text").val()); //得到商品的数量
    var price = parseFloat($(this).parents(".one-goods").find(".GoodsPrice").text()); //得到商品的单价
    var total = price * num; //计算单个商品的总价
    oprice += total; //计算该店铺的总价
   }
   $(this).closest(".one-shop").find(".ShopTotal").text(oprice.toFixed(2)); //显示被选中商品的店铺总价
   });
   var oneprice = parseFloat($(this).find(".ShopTotal").text()); //得到每个店铺的总价
   allprice += oneprice; //计算所有店铺的总价
  });
  $("#AllTotal").text(allprice.toFixed(2)); //输出全部总价
  }
  script >
body >
  
html >

你可能感兴趣的:(购物车结算)