用jQuery實現了checkbox的全選和反選功能,代碼如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title>複選框全選反選</title>
<style type="text/css">
body,dl,dt,dd,p{margin:0;padding:0;}
body{font-family:Tahoma;font-size:12px;}
label,input,a{vertical-align:middle;}
label{padding:0 10px 0 5px;}
a{color:#09f;text-decoration:none;}
a:hover{color:red;}
dl{width:120px;margin:10px auto;padding:10px 5px;border:1px solid #666;border-radius:5px;background:#fafafa;}
dt{padding-bottom:10px;border-bottom:1px solid #666;}
dt label{font-weight:700;}
p{margin-top:10px;}
</style>
<script type="text/javascript" src="js/jquery-1.4.2.min.js"></script>
<script type="text/javascript">
$(function(){
$("#checkAll").click(function(){
if($(this).is(":checked"))
{
$(this).next("label").html("不全選");
$("input:checkbox").not($(this)).attr("checked","checked");
}
else{
$(this).next("label").html("全選");
$("input:checkbox").not($(this)).removeAttr("checked");
}
})
$("#back").click(function(){
var t=$("dd input:checkbox:checked");
$("dd input:checkbox").not(t).attr("checked","checked");
t.removeAttr("checked");
check();
})
$("dd input:checkbox").click(function(){
check();
});
function check(){
var t=$("dd input:checkbox:checked");
var m=$("dd input:checkbox");
if(t.length == m.length)
$("#checkAll").attr("checked","checked");
else
$("#checkAll").removeAttr("checked");
}
})
</script>
</head>
<body>
<dl>
<dt><input type="checkbox" id="checkAll" /><label>全選</label><a id="back">反選</a></dt>
<dd>
<p><input type="checkbox" name="item" /><label>選項(一)</label></p>
<p><input type="checkbox" name="item" /><label>選項(二)</label></p>
<p><input type="checkbox" name="item" /><label>選項(三)</label></p>
<p><input type="checkbox" name="item" /><label>選項(四)</label></p>
<p><input type="checkbox" name="item" /><label>選項(五)</label></p>
<p><input type="checkbox" name="item" /><label>選項(六)</label></p>
<p><input type="checkbox" name="item" /><label>選項(七)</label></p>
<p><input type="checkbox" name="item" /><label>選項(八)</label></p>
<p><input type="checkbox" name="item" /><label>選項(九)</label></p>
<p><input type="checkbox" name="item" /><label>選項(十)</label></p>
</dd>
</dl>
<center>1、切換全選/全不選文字;2、根據選中個數更新全選框狀態;</center>
</body>
</html>