直接上代码:
<!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>
效果: