1 全選 2 <input type="checkbox" id="quanxuan" > 3 <br> 4 單選 5 <input type="checkbox" class="item"> 6 <br> 7 單選 8 <input type="checkbox" class="item"> 9 <br> 10 單選 11 <input type="checkbox" class="item"> 12 <br> 13 單選 14 <input type="checkbox" class="item"> 15 <br> 16 單選 17 <input type="checkbox" class="item">
// 獲得全選按鈕的節點和所有單選的節點
1 var quanbu = document.getElementById('quanxuan') 2 var danxuan = document.getElementsByClassName('item')
// 全選點擊的時候讓單選按鈕也和全選一種狀態
1 quanbu.onchange=function(){ 2 for(var i = 0;i<danxuan.length;i++){ 3 danxuan[i].checked = this.checked 4 } 5 }
// 循環所有單選按鈕並加事件
1 for(var i = 0;i<danxuan.length;i++){ 2 danxuan[i].onchange=function(){ 3 panduandanxuan() 4 } 5 }
1 // 單選按鈕事件 2 var panduandanxuan = function(){ 3 // 定義一個計數器 4 var count = 0 5 // 每有一個單選為true就加一 6 for(var a = 0;a<danxuan.length;a++){ 7 if(danxuan[a].checked == true){ 8 count++ 9 } 10 // 當計數器等於所有單選按鈕的length時全選選中 11 if(count == danxuan.length){ 12 quanbu.checked = true 13 // 否則不選中 14 }else{ 15 quanbu.checked = false 16 } 17 } 18 }