jq 全選,全不選 ,反選 獲取選取項的值

<!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>

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章