1. 程式人生 > >JS實現checkbox全選/全不選,單個複選框取消不全選

JS實現checkbox全選/全不選,單個複選框取消不全選

HTML:

<input id="all" type="checkbox"/>全選
<hr />
<div>
	<input type="checkbox" class="box"/>
	<br/> 
	<input type="checkbox" class="box"/>
	<br/>
	<input type="checkbox" class="box"/>
	<br/>
	<input type="checkbox" class="box"/>
	<br/>
</div>

JS:
window.onload = function (){
	var all = document.getElementById ("all");			//全選checkbox
	var box = document.getElementsByClassName('box');	//子複選框
	
	//遍歷checkbox,把子複選框的checked設定成全選框的狀態,實現全選/全不選
	all.onclick = function (){
		for ( var i = 0; i < box.length; i++){
			box[i].checked = this.checked;
		}
	};
	//遍歷checkbox,子複選框有一個未選中時,如果全選框設為false不選狀態
	for ( var i = 0; i < box.length; i++){
		box[i].onclick = function (){
			if ( !this.checked ){
				all.checked = false;
			}
		};
	}
}