购物车

<!DOCTYPE html>

<html>

<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">

    <script src="http://code.jquery.com/jquery-2.2.0.min.js"></script>

    <!--<![endif]-->

    <meta name="apple-mobile-web-app-capable" content="yes">

    <meta name="apple-mobile-web-app-status-bar-style" content="black">

    <style type="text/css">

.shop-total, .all-total {

height: 50px;

line-height: 50px;

font-weight: bold;

color: #f00;

float: left;

}

.one-shop, .all-total, .shop-total {

400px;

}

p {

margin: 0;

}

.goods-check {

25px;

height: 25px;

margin-top: 5px;

}

.goods-msg, p, label {

float: left;

}

    </style>

</head>

<body>

    <!-- 一个店铺 -->

    <div>

        <!-- 一个商品 -->

        <div>

            <div>

                <label for="">

                    <input type="checkbox" class="goods-check GoodsCheck">

                </label>

                <button type="button">-</button>

                <input type="text" value="1" />

                <button type="button">+</button>

            </div>

            <p>

                商品单价:¥<span class="shop-total-amount GoodsPrice">20.00</span>

            </p>

        </div>

        <!-- 一个商品 -->

        <div>

            <div>

                <label for="">

                    <input type="checkbox" class="goods-check GoodsCheck">

                </label>

                <button type="button">-</button>

                <input type="text" value="1" />

                <button type="button">+</button>

            </div>

            <p>

                商品单价:¥<span class="shop-total-amount GoodsPrice">9.90</span>

            </p>

        </div>

        <!-- 一个商品 -->

        <div>

            <div class="goods-msg ">

                <label for="">

                    <input type="checkbox" class="goods-check GoodsCheck">

                </label>

                <button type="button">-</button>

                <input type="text" value="1" />

                <button type="button">+</button>

            </div>

            <p>

                商品单价:¥<span class="shop-total-amount GoodsPrice">10.00</span>

            </p>

        </div>

        <!-- 店铺合计 -->

        <div>

            <label for="">

                <input type="checkbox" class="goods-check ShopCheck">

                店铺全选

            </label>

            <p>

                本店合计:¥<span class="shop-total-amount ShopTotal">0.00</span>

            </p>

        </div>

    </div>

    <!-- 一个店铺 -->

    <div>

        <!-- 一个商品 -->

        <div>

            <div>

                <label for="">

                    <input type="checkbox" class="goods-check GoodsCheck">

                </label>

                <button type="button">-</button>

                <input type="text" value="1" />

                <button type="button">+</button>

            </div>

            <p>

                商品单价:¥<span class="shop-total-amount GoodsPrice">30.00</span>

            </p>

        </div>

        <!-- 一个商品 -->

        <div>

            <div>

                <label for="">

                    <input type="checkbox" class="goods-check GoodsCheck">

                </label>

                <button type="button">-</button>

                <input type="text" value="1" />

                <button type="button">+</button>

            </div>

            <p>

                商品单价:¥<span class="shop-total-amount GoodsPrice">20.00</span>

            </p>

        </div>

        <!-- 店铺合计 -->

        <div>

            <label for="">

                <input type="checkbox" class="goods-check ShopCheck">

                店铺全选

            </label>

            <p>

                本店合计:¥<span class="shop-total-amount ShopTotal">0.00</span>

            </p>

        </div>

    </div>

    <!-- 总计 -->

    <div>

        <label for="">

            <input type="checkbox" id="AllCheck">

            全选

        </label>

        <p>

            总价合计:¥<span id="AllTotal">0.00</span>

        </p>

    </div>

</body>

<script type="text/javascript">

// 数量减

$(".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>

</html>

原文地址:https://www.cnblogs.com/alonesky/p/9954074.html