jquery实现checkbox 全选、反选(含2级筛选)

直接上代码:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<style>
			.test1{
				background: #D9EDF7;
			}
		</style>
	</head>
	<body>
		<form action="">
			<div class="test1">
				<div>
					<input type="checkbox" id="allCheck">全选
				</div>
				<div>
					<input type="checkbox" name="items">选项1
					<input type="checkbox" name="items">选项2
					<input type="checkbox" name="items">选项3
					<input type="checkbox" name="items">选项4
					<input type="checkbox" name="items">选项5
					<input type="checkbox" name="items">选项6
				</div>
			</div>
		</form>
		<script type="text/javascript" src="js/jquery-1.11.3.min.js"></script>
		<script type="text/javascript">
			$(function() {
				/*分类 全选*/
				$("#allCheck").click(function() {
					if (this.checked) {
						$("input[name='items']").each(function() {
							$(this).prop("checked", true);
						});
					} else {
						$("input[name='items']").each(function() {
							$(this).prop("checked", false);
						});
					}
				});
				/* 单个取消 则全选取消勾选 */
				$("input[name='items']").click(function() {
					var s = $("input[name='items']").length;
					var a = $("input[name='items']:checked").length;
					if (s == a) {
						$("#allCheck").prop('checked', true);
					} else {
						$("#allCheck").prop('checked', false);
					}
				});
			})
		</script>
	</body>
</html>

效果
在这里插入图片描述
在这里插入图片描述

2级全选反选 (升级)

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<style>
			li{
				list-style: none;
			}
		</style>
	</head>
	<body>
		<form action="">
			<div class="pop-second-check">
				<div class="all-check">
					全选 <input type="checkbox" id="all_check" checked="checked">
				</div>
				<ul class="second-check">
					<li>一级类目<input type="checkbox" name="items" class="second-check-all" checked="checked">
						<ul class="third-check">
							<li>二级类目<input type="checkbox" name="items" checked="checked"></li>
							<li>二级类目<input type="checkbox" name="items" checked="checked"></li>
							<li>二级类目<input type="checkbox" name="items" checked="checked"></li>
							<li>二级类目<input type="checkbox" name="items" checked="checked"></li>
							<li>二级类目<input type="checkbox" name="items" checked="checked"></li>
							<li>二级类目<input type="checkbox" name="items" checked="checked"></li>
							<li>二级类目<input type="checkbox" name="items" checked="checked"></li>
							<li>二级类目<input type="checkbox" name="items" checked="checked"></li>
							<li>二级类目<input type="checkbox" name="items" checked="checked"></li>
							<li>二级类目<input type="checkbox" name="items" checked="checked"></li>
							<li>二级类目<input type="checkbox" name="items" checked="checked"></li>
						</ul>
					</li>
					<li>
						一级类目<input type="checkbox" name="items" class="second-check-all" checked="checked">
						<ul class="third-check">
							<li>二级类目<input type="checkbox" name="items" checked="checked"></li>
							<li>二级类目<input type="checkbox" name="items" checked="checked"></li>
						</ul>
					</li>
				</ul>
			</div>
		</form>

		<script type="text/javascript" src="js/jquery-1.11.3.min.js"></script>
		<script type="text/javascript">
			$(function() {
				/*全选反选*/
				$("#all_check").click(function() {
					if (this.checked) {
						$("input[name='items']:checkbox").each(function() {
							$(this).prop("checked", true);
						});
					} else {
						$("input[name='items']:checkbox").each(function() {
							$(this).prop("checked", false);
						});
					}
				});
				/* 一级全选 */
				$(".second-check-all").click(function() {
					if (this.checked) {
						$(this).parent().children().find('input').prop('checked', true)
					} else {
						$(this).parent().children().find('input').prop('checked', false)
					}
				});
				/* 所有二级选择后 */
				$(".third-check input[name='items']").click(function() {
					var c = $(this).parent().parent().children().find('input:checked').length
					//console.log(c)
					if (c == 0) {
						$(this).parent().parent().siblings(".second-check-all").prop('checked', false)
					} else {
						$(this).parent().parent().siblings(".second-check-all").prop('checked', true)
					}
				});
				/* 所有选择后 */
				$("input[name='items']").click(function() {

					var s = $("input[name='items']").length;
					var a = $("input[name='items']:checked").length;
					if (s == a) {
						$("#all_check").prop('checked', true);
					} else {
						$("#all_check").prop('checked', false);
					}
				});
			})
		</script>
	</body>
</html>

效果:
在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值