簡單的點菜(複選框)---原生js
阿新 • • 發佈:2020-12-12
實現效果:點選頭部,全選或全部取消
下面4個全點選 ,頭部也點選
<div class="wrap">
<table>
<thead>
<tr>
<th>
<input type="checkbox" id="allcheck""/>
</th>
< th>菜名</th>
<th>飯店</th>
</tr>
</thead>
<tbody id="onecheck">
<tr>
<td>
<input type="checkbox"/>
</td>
<td>酸菜魚</td>
<td>A飯店</td>
</tr>
<tr>
<td>
<input type="checkbox"/>
</td>
<td>宮保雞丁</td>
<td>B飯店</td>
</tr>
<tr>
< td>
<input type="checkbox"/>
</td>
<td>鍋包肉</td>
<td>C飯店</td>
</tr>
<tr>
<td>
<input type="checkbox"/>
</td>
<td>奶茶</td>
<td>D飯店</td>
</tr>
</tbody>
</table>
</div>
function my$(id){
return document.getElementById(id)
}
var ta = my$("onecheck");
var inpobj = ta.getElementsByTagName("input");
my$("allcheck").onclick = function(){
for(var i=0;i<inpobj.length;i++){
inpobj[i].checked = this.checked;
}
}
for(var i=0;i<inpobj.length;i++){
inpobj[i].onclick = function(){
flag = true;
for(var j=0;j<inpobj.length;j++){
if(!inpobj[j].checked){
flag = false;
break;
}
}
my$("allcheck").checked = flag;
}
}
最後設定一個flag就可以了
每次點選一個選單都把所有的檢查一遍,如果有沒選的,flag直接等於false,退出迴圈