<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>反選、全選、全不選</title>
<script type="text/javascript" src="jquery-1.12.4.js"></script>
</head>
<body>
<ul id="list">
<li><label><input type="checkbox" value="1"> 1.蘋果</label></li>
<li><label><input type="checkbox" value="2"> 2.橘子</label></li>
<li><label><input type="checkbox" value="3"> 3.香蕉</label></li>
<li><label><input type="checkbox" value="4"> 4.柿子</label></li>
<li><label><input type="checkbox" value="5"> 5.西瓜</label></li>
<li><label><input type="checkbox" value="6"> 6.水蜜桃</label></li>
</ul>
<input type="checkbox" id="all">
<input type="button" value="全選" class="btn" id="selectAll">
<input type="button" value="全不選" class="btn" id="unSelect">
<input type="button" value="反選" class="btn" id="reverse">
<input type="button" value="獲得選中的所有值" class="btn" id="getValue">
<script type="text/javascript">
$(function () {
// 判斷選中個數是否與複選框總數相同
// var chknum = $("#list :checkbox").size();//選項總個數
function allchk(){
var chknum = $("#list :checkbox").size();//選項總個數
var chk = 0;
$("#list :checkbox").each(function () {
if($(this).prop("checked")==true){
chk++;
}
});
if(chknum==chk){//全選
$("#all").prop("checked",true);
}else{//不全選
$("#all").prop("checked",false);
}
}
//全選或全不選
$("#all").click(function(){
if(this.checked){
$("#list :checkbox").prop("checked", true);
}else{
$("#list :checkbox").prop("checked", false);
}
});
//全選
$("#selectAll").click(function () {
$("#list :checkbox,#all").prop("checked", true);
});
//全不選
$("#unSelect").click(function () {
$("#list :checkbox,#all").prop("checked", false);
});
//反選
$("#reverse").click(function () {
$("#list :checkbox").each(function () {
$(this).prop("checked", !$(this).prop("checked"));
});
allchk();
});
//設置全選複選框
$("#list :checkbox").click(function(){
allchk();
});
//獲取選中選項的值
$("#getValue").click(function(){
var valArr = new Array;
$("#list input[type=checkbox]:checked").each(function(i){
valArr[i] = $(this).val();
});
var vals = valArr.join(',');
alert(vals);
});
});
</script>
</body>
</html>