本篇文章是关于复选框的,有2种形式:1、全选、反选由2个按钮实现;2、全选、反选由一个按钮实现。

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>复选框demo</title>
<script src="../js/jquery-1.10.2.js" type="text/javascript"></script>
<style>
body{ text-align:center}
.con{ margin:100px auto; width:800px; height:400px; border:1px solid #F00; padding-top: 50px;}
</style>
</head>
<body>
<div class="con">
<span><input type='checkbox' name='select' onclick='allSelect()'>全选</span>
<span><input type='checkbox' name='cancel' onclick='unAllSelect()'>反选</span>
<span><input type='checkbox' name='fruit' />苹果</span>
<span><input type='checkbox' name='fruit' />香蕉</span>
<span><input type='checkbox' name='fruit' />梨子</span>
<span><input type='checkbox' name='fruit' />桃子</span>
<span><input type='checkbox' name='fruit' />西瓜</span> <br><br><br> <span><input type='checkbox' id="allBook" name='allBook' />全选</span>
<span><input type='checkbox' name='book' />老子</span>
<span><input type='checkbox' name='book' />尚书</span>
<span><input type='checkbox' name='book' />周易</span>
<span><input type='checkbox' name='book' />诗经</span>
<span><input type='checkbox' name='book' />孟子</span>
<span><input type='checkbox' name='book' />中庸</span> <script type="text/javascript">
//全选
function allSelect(){
$("input[name='fruit']").prop("checked", "checked");
$("input[name='cancel']").removeAttr("checked");
}
//反选
function unAllSelect(){
$("input[name='fruit']").removeAttr("checked");
$("input[name='select']").removeAttr("checked");
}
//单选
$("#allBook").click(function(){
if(this.checked){
// $("input[name='book']").attr("checked", true);
$("input[name='book']").prop("checked", "checked");
}else{
// $("input[name='book']").attr("checked", false);
$("input[name='book']").removeAttr("checked");
}
});
</script> </div>
</body>
</html>

在实践中碰到一个问题——check全选失效。解决办法,使用prop方法代替attr。

$("input[name='book']").attr("checked", "checked");
$("input[name='book']").prop("checked", "checked");

这或许是和jQuery版本有关。

05-11 23:02