jquery实现checkbox的单选和全选思路详解
【思路分析】
1、全选与不选块模块
- 给全选按钮添加change事件
- 就是将全选按钮(checkall)的状态赋值给三个小的按钮(checkitem)即可
2、小复选框模块
- 给小复选框添加change事件,
- 每点击一次就去判断此时总共被选中的小复选框的个数,如果“小复选框被选中的个数=小复选框总个数”,此时就应该把全选按钮选上,否则不选。
【知识点】
1、change事件
2、jquery属性操作之设置或获取元素固有属性值prop()
3、if(){……}eles{……}
【代码】
css代码
<style>
* {
margin: 0;
padding: 0;
}
.checkbox {
width: 200px;
margin: 30px auto;
}
.thead-checkbox {
border: 1px solid #000000;
background-color: lightgray;
}
.item-checkbox {
border: 1px solid darkgray;
}
</style>
html代码
<body>
<div class="checkbox">
<!-- 全选与不全选模块 -->
<div class="thead-checkbox">
<input type="checkbox" name="" id="" class="checkall">全选
</div>
<!-- 小复选框选 -->
<div class="item-list-checkbox">
<div class="item-checkbox"><input type="checkbox" class="checkitem">单选1</div>
<div class="item-checkbox"><input type="checkbox" class="checkitem">单选2</div>
<div class="item-checkbox"><input type="checkbox" class="checkitem">单选3</div>
<div class="item-checkbox"><input type="checkbox" class="checkitem">单选4</div>
</div>
</div>
</body>
js代码:
//引入jquery
<script src="jquery.mini.js"></script>
<script> $(function() { // 1、全选与不全选模块 $(".checkall").change(function() { // console.log($(this).prop("checked"));输出全选按钮的选中状态 $(".item-list-checkbox .checkitem").prop("checked", $(this).prop("checked")); }); // 2、小复选框模块 $(".checkitem").change(function() { if ($(".checkitem:checked").length === $(".checkitem").length) { $(".checkall").prop("checked", true); } else { $(".checkall").prop("checked", false); } }) }) </script>
【效果】


浙公网安备 33010602011771号