<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<script type="text/javascript">
window.onload=function(){
var allCheck=document.getElementById("FirstCheck")
var fruitElts=document.getElementsByName("fruit")
allCheck.onclick=function(){
if(allCheck.checked){
for(var i=0;i<fruitElts.length;i++){
fruitElts[i].checked=true
}
}else{
for(var i=0;i<fruitElts.length;i++){
fruitElts[i].checked=false
}
}
}
var all=fruitElts.length//獲取選項框總數
for(var i=0;i<fruitElts.length;i++){
fruitElts[i].onclick()=function(){
var checkedCount=0//計數器歸零
for(var j=0;j<fruitElts.length;j++){
if(fruitElts[j].checked){
checkedCount++
}//判斷選項框狀態,如果被勾選則計數器加一
}
allCheck.checked=(all==checkedCount)//判斷計數器總數和選項框總數是否相等,若相等則勾選全選框
}
}
}
</script>
<input type="checkbox" id="FirstCheck" />全選<br />
<input type="checkbox" name="fruit" />蘋果<br />
<input type="checkbox" name="fruit" />香蕉<br />
<input type="checkbox" name="fruit" />桃子
</body>
</html>
uj5u.com熱心網友回復:
fruitElts[i].onclick()=function(){
改成
fruitElts[i].onclick=function(){
uj5u.com熱心網友回復:

F12控制臺有提示報錯位置的
uj5u.com熱心網友回復:
看了樓上的已經解決的答案,仔細檢查下樓主的代碼就會發現13行跟29行你就會發現問題了uj5u.com熱心網友回復:
多謝各位 問題已經解決了 太粗心了轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/141733.html
標籤:JavaScript
