<html>
<head>
<title>练习1.2</title>
<script language="JavaScript">
function SelectAll()
  {
 
oEl = event.srcElement;                      //获取当前单击的元素
 
 
for(j = 0;j < document.all.length; j++)
 
{ // 遍历所有的checkboxif(document.all(j).id.indexOf("Checkbox") != -1)//有这个id号
 
{if(oEl.checked) 
 //如果选择了全选
 
document.all(j).checked = true;  //全选
 else
 
document.all(j).checked = false; //全不选
 
}
}
}
function checkAll() {
for (var j = 1; j <= 4; j++) {
box = eval("document.form.item" + j);
if (box.checked == false) box.checked = true;//checked表示选没选中
}
}
function uncheckAll() {
for (var j = 1; j <= 4; j++) {
box = eval("document.form.item" + j);
if (box.checked == true) box.checked = false;
}
}
function switchAll() {
for (var j = 1; j <= 4; j++) {
box = eval("document.form.item" + j);
box.checked = !box.checked;
}
}
function SelectAll()
  {
for (var j=1;j<=4;j++)
{box=eval("document.form.item"+j);
if(box.checked==false)box.checked=ture;
else
box.checked=false;}
}
</script>
</head>
<body>
请选择您的爱好!<p>
<form name=form>
<input id="Checkbox5" type="checkbox" onclick="SelectAll()"name=item5/>全选或全不选
<p>
<input id="Checkbox1" type="checkbox" name="item1" />足球
<input id="Checkbox2" type="checkbox"name="item2"/>篮球
<input id="Checkbox3" type="checkbox"name="item3" />游泳
<input id="Checkbox4" type="checkbox" name="item4" />唱歌<p>
<input type=button value="全选" onClick="checkAll()">
<input type=button value="全不选" onClick="uncheckAll()">
<input type=button value="反选" onClick="switchAll()">
</form>
</body>
</html>这个程序,全选/全不选总出不来。好纠结啊

解决方案 »

  1.   

    常用的方法是这样写d

    楼主发表于:2012-03-04 09:48:19
    <html>
    <head>
    <title>练习1.2</title>
    <script language="JavaScript">
    function SelectAll(evt)

    e = window.event?window.event.srcElement:evt.target;
    s = document.getElementsByName("item")
    for(j = 0;j < s.length; j++) 
    {
    s[j].checked = e.checked;
    }
    }function checkAll() {
    s = document.getElementsByName("item")
    for(j = 0;j < s.length; j++) 
    {
    s[j].checked = true;
    }
    }
    function uncheckAll() {
    s = document.getElementsByName("item")
    for(j = 0;j < s.length; j++) 
    {
    s[j].checked = false;
    }
    }function switchAll() {
    s = document.getElementsByName("item")
    for(j = 0;j < s.length; j++) 
    {
    s[j].checked = !s[j].checked;
    }
    }</script>
    </head>
    <body>
    请选择您的爱好!<p>
    <form name=form>
    <input type="checkbox" onclick="SelectAll(event)" />全选或全不选
    <p>
    <input type="checkbox" name="item" />足球
    <input type="checkbox" name="item" />篮球
    <input type="checkbox" name="item" />游泳
    <input type="checkbox" name="item" />唱歌<p>
    <input type=button value="全选" onClick="checkAll()">
    <input type=button value="全不选" onClick="uncheckAll()">
    <input type=button value="反选" onClick="switchAll()">
    </form>
    </body>
    </html>
      

  2.   

    document.all这种方法现在都不用了,有BugoEl = event.srcElement;不兼容非IE浏览器id="Checkbox3"这些无用的代码应该去掉
      

  3.   

    请问下e = window.event?window.event.srcElement:evt.target这句怎么理解啊。
      

  4.   

    谢谢,那evt.target在这里是什么意思