jQuery中全选按钮的练习
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>全选练习</title>
<script src="../js/jquery-1.8.2.min.js"></script>
<script>
$(function(){
//获取全选/不全选的checkbox
var $chooseAll= $('#chooseAll')
//获取所有多选框并且name=items的多选框
var $checkedAll=$(':checkbox[name=items]')
$('#btn1').click(function(){
//使得所有的爱好多选框都选中
$checkedAll.prop('checked',true)
//当所有爱好多选框都选中的时候全选框也选中
$('#chooseAll').prop('checked',true)
})
$('#btn2').click(function(){
//使得所有的爱好多选框都不选中
$checkedAll.prop('checked',false)
//当所有爱好多选框都不选中的时候全选框也不选中
$('#chooseAll').prop('checked',false)
})
$('#btn3').click(function(){
//进行遍历所有爱好多选框,
$checkedAll.each(function(){
//如果选择则为不选进行反选
this.checked=!this.checked;
})
//这里对所有的爱好多选框进行过滤,过滤选中的,
//如果全部选中就过滤掉length===0返回true,有一个没选中就返回false,
$chooseAll.prop('checked',$checkedAll.filter(':not(:checked)').length===0)
})
$('#btn4').click(function(){
//遍历输出选中就会输出对应的爱好
$checkedAll.filter(':checked').each(function(){
alert(this.value)
})
})
$checkedAll.click(function(){
//判断在操作爱好的时候是否全选
$chooseAll.prop('checked',$checkedAll.filter(':not(:checked)').length===0)
})
$chooseAll.click(function(){
//点击多选框的全选按钮,所的爱好都选中或者全不选中。
$checkedAll.prop('checked',this.checked)
})
})
</script>
</head>
<body>
<form action="" method="post" id="form">
你爱好的运动是?<input type="checkbox" name="chooseAll" id="chooseAll" />全选/全不选
<br/>
<input type="checkbox" name="items" id="chooseSoccer" value="足球"/>足球
<input type="checkbox" name="items" id="chooseBasketball" value="篮球" />篮球
<input type="checkbox" name="items" id="chooseBadminto" value="羽毛球" />羽毛球
<input type="checkbox" name="items" id="choosePingPong" value="乒乓球" />乒乓球
<br/>
<input type="button" name="" id="btn1" value="全选" />
<input type="button" name="" id="btn2" value="全不选" />
<input type="button" name="" id="btn3" value="反选" />
<input type="button" name="" id="btn4" value="提交" />
</form>
</body>
</html>