购物车的js
<!DOCTYPE html><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"> <!--<![endif]--> <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> <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); //店铺全选按钮被选中 } else {//如果选中的商品不等于所有商品 Shops.prop('checked', false); //店铺全选按钮不被选中 // 计算 TotalPrice(); // 计算 } }); // 点击店铺按钮 $(".ShopCheck").change(function() { if ($(this).prop("checked") == true) {//如果店铺按钮被选中 $(this).parents(".one-shop").find(".goods-check").prop('checked', true); //店铺内的所有商品按钮也被选中 TotalPrice(); } else {//如果店铺按钮不被选中 $(this).parents(".one-shop").find(".goods-check").prop('checked', false); //店铺内的所有商品也不被全选 } }); function TotalPrice() { $(".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; //计算该店铺的总价 } // alert(oprice) $(".ShopTotal").text(oprice.toFixed(2)) // $(this).closest(".one-shop").find(".ShopTotal").text(oprice.toFixed(2)); //显示被选中商品的店铺总价 }); }); } </script> </body> </html>