<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=GBK">
<title></title>
<style type="text/css">
</style>
<script src="../jquery-1.8.2.js" type="text/javascript"></script>
<script type="text/javascript">
$(function()
{
//全选
$("#checkAll").click(function()
{
//可以对子选项设置相同的name属性
//这里是以包含chkChild的id,与全选的状态相同
//$(":checkbox[id*=chkChild]").attr("checked",$(this).attr("checked"));
//alert($(this).attr("checked"));
var isAll = false;
if($(this).attr("checked"))
isAll = true;
else
isAll = false;
$(":checkbox[id*=chkChild]").attr("checked",isAll);
});
//给子checkbox注册事件
//singleCheck后面不用加小括号,这里是注册,不是调用
$(":checkbox[id*=chkChild]").click(singleCheck);
//反选
$("input[value=反选]").click(function()
{
$(":checkbox[id*=chkChild]").each(function()
{
$(this).attr("checked",!$(this).attr("checked"));
});
singleCheck();
});
})
function singleCheck()
{
//假设所有的子checkbox全都选中
var isCheckAll = true;
$(":checkbox[id*=chkChild]").each(function()
{
//判断每一个checkbox的状态
//this,包装集中的每一个元素都是dom对象
if(!$(this).attr("checked"))
{
isCheckAll = false;
//在each中return false相当于break,return true;相当于continue,接着下一次循环
return false;
}
});
//设置全选框的状态
$("#checkAll").attr("checked",isCheckAll);
}
</script>
</head>
<body>
<input type="checkbox" id="checkAll"/>全选<input type="button" value="反选"><br />
<input type="checkbox" id="chkChild1" value="cf" />吃饭
<input type="checkbox" id="chkChild2" value="sj" />睡觉
<input type="checkbox" id="chkChild3" value="ddd" />打豆豆
</body>
</html>