jquery 修改购物车小计,添加加减功能_复选框

<!DOCTYPE html>
<html lang="zh-CN">

	<head>
		<meta charset="UTF-8">
		<title>我的购物车-品优购</title>
		<link rel="stylesheet" href="css/base.css">
		<link rel="stylesheet" href="css/common.css">
		<link rel="stylesheet" href="css/car.css">
		<script src="js/jquery-3.5.1.min.js"></script>
	</head>

	<body>

		<div class="car-header">
			<div class="w">
				<div class="car-logo">
					<img src="img/logo.png" alt="">
					<b>购物车</b>
				</div>
			</div>
		</div>

		</div>
		<div class="c-container">
			<div class="w">
				<div class="cart-filter-bar">
					<em>全部商品</em>
				</div>
				<!-- 购物车主要核心区域 -->
				<div class="cart-warp">
					<!-- 头部全选模块 -->
					<div class="cart-thead">
						<div class="t-checkbox">
							<input type="checkbox" name="" id="" class="checkall"> 全选
						</div>
						<div class="t-goods">商品</div>
						<div class="t-price">单价</div>
						<div class="t-num">数量</div>
						<div class="t-sum">小计</div>
						<div class="t-action">操作</div>
					</div>
					<!-- 商品详细模块 -->
					<div class="cart-item-list">
						<div class="cart-item check-cart-item">
							<div class="p-checkbox">
								<input type="checkbox" name="" id="" checked class="j-checkbox">
							</div>
							<div class="p-goods">
								<div class="p-img">
									<img src="upload/p1.jpg" alt="">
								</div>
								<div class="p-msg">【5本26.8元】经典儿童文学彩图青少版八十天环游地球中学生语文教学大纲</div>
							</div>
							<div class="p-price">¥12.60</div>
							<div class="p-num">
								<div class="quantity-form">
									<a href="javascript:;" class="decrement">-</a>
									<input type="text" class="itxt" value="1">
									<a href="javascript:;" class="increment">+</a>
								</div>
							</div>
							<div class="p-sum">¥12.60</div>
							<div class="p-action">
								<a href="javascript:;">删除</a>
							</div>
						</div>
						<div class="cart-item">
							<div class="p-checkbox">
								<input type="checkbox" name="" id="" class="j-checkbox">
							</div>
							<div class="p-goods">
								<div class="p-img">
									<img src="upload/p2.jpg" alt="">
								</div>
								<div class="p-msg">【2000张贴纸】贴纸书 3-6岁 贴画儿童 贴画书全套12册 贴画 贴纸儿童 汽</div>
							</div>
							<div class="p-price">¥24.80</div>
							<div class="p-num">
								<div class="quantity-form">
									<a href="javascript:;" class="decrement">-</a>
									<input type="text" class="itxt" value="1">
									<a href="javascript:;" class="increment">+</a>
								</div>
							</div>
							<div class="p-sum">¥24.80</div>
							<div class="p-action">
								<a href="javascript:;">删除</a>
							</div>
						</div>
						<div class="cart-item">
							<div class="p-checkbox">
								<input type="checkbox" name="" id="" class="j-checkbox">
							</div>
							<div class="p-goods">
								<div class="p-img">
									<img src="upload/p3.jpg" alt="">
								</div>
								<div class="p-msg">唐诗三百首+成语故事全2册 一年级课外书 精装注音儿童版 小学生二三年级课外阅读书籍</div>
							</div>
							<div class="p-price">¥29.80</div>
							<div class="p-num">
								<div class="quantity-form">
									<a href="javascript:;" class="decrement">-</a>
									<input type="text" class="itxt" value="1">
									<a href="javascript:;" class="increment">+</a>
								</div>
							</div>
							<div class="p-sum">¥29.80</div>
							<div class="p-action">
								<a href="javascript:;">删除</a>
							</div>
						</div>
					</div>

				</div>
				<!-- 结算模块 -->
				<div class="cart-floatbar">
					<div class="select-all">
						<input type="checkbox" name="" id="" class="checkall">全选
					</div>
					<div class="operation">
						<a href="javascript:;" class="remove-batch"> 删除选中的商品</a>
						<a href="javascript:;" class="clear-all">清理购物车</a>
					</div>
					<div class="toolbar-right">
						<div class="amount-sum">已经选<em>1</em>件商品</div>
						<div class="price-sum">总价: <em>¥12.60</em></div>
						<div class="btn-area">去结算</div>
					</div>
				</div>
			</div>

		</div>

	</body>
	<script>
        $(function () {
            // 1. 全选 全不选功能模块
            // 就是把全选按钮(checkall)的状态赋值给 三个小的按钮(j-checkbox)就可以了
            // 事件可以使用change
            $(".checkall").change(function () {
                // console.log($(this).prop("checked"));
                $(".j-checkbox, .checkall").prop("checked", $(this).prop("checked"));
            });
            // 2. 如果小复选框被选中的个数等于3 就应该把全选按钮选上,否则全选按钮不选。
            $(".j-checkbox").change(function () {
                // if(被选中的小的复选框的个数 === 3) {
                //     就要选中全选按钮
                // } else {
                //     不要选中全选按钮
                // }
                // console.log($(".j-checkbox:checked").length);
                // $(".j-checkbox").length 这个是所有的小复选框的个数
                if ($(".j-checkbox:checked").length === $(".j-checkbox").length) {
                    $(".checkall").prop("checked", true);
                } else {
                    $(".checkall").prop("checked", false);
                }
            });
            /*增减商品*/
            /*点击一个按钮,他的兄弟数值发生变化*/
            $('.increment').click(function () {
                var num = $(this).siblings('.itxt').val();
                console.log(num);
                num++;
                $(this).siblings('.itxt').val(num);
                /*修改小计*/
                var p = $(this).parent().parent().siblings('.p-price').html().substr(1);
                console.log(p)
                $(this).parent().parent().siblings('.p-sum').html('¥'+(p*num)   .toFixed(2))
            })
            $('.decrement').click(function () {
                var num = $(this).siblings('.itxt').val();
                console.log(num);
                if (num > 1)
                    num--;
                $(this).siblings('.itxt').val(num);
                /*修改小计*/
                var p = $(this).parent().parent().siblings('.p-price').html().substr(1);
                console.log(p)
                $(this).parent().parent().siblings('.p-sum').html('¥'+(p*num).toFixed(2))
            })
	        /*修改小计*/
        })
	</script>

</html>