js控制复选框进行反选时,为什么这种方式不行。【我知道如果checked属性用truefalse是w3c标准方法可行。

JavaScript011

js控制复选框进行反选时,为什么这种方式不行。【我知道如果checked属性用truefalse是w3c标准方法可行。,第1张

通过给 checked 属性复制,只要 checked 存在,无论是任何值都表示选中。

<input type='checkbox' checked />

这才是 W3C 的标准。注意到没有?checked 属性其实并没有等于号赋值,因为实际上它等于啥都无所谓,只要存在这个属性就是表示选中。

Obox[i].checked = '' // 选中

Obox[i].checked = 'checked' // 选中

Obox[i].checked = 'true' // 选中

Obox[i].checked = 'false' // 选中

Obox[i].checked = true // 选中

Obox[i].checked = false // 取消选中

input 标签中同理的还有 readonly、autofocus 之类的属性。

参考下

<meta http-equiv="content-type"content="text/htmlcharset=utf-8">

<body>

<!--把下面代码加到<body>与</body>之间-->

<script language="Javascript">

functioncc(N,bool){

varaa = document.getElementById(N).getElementsByTagName("input")

for(vari=0i<aa.lengthi++){

if(aa[i].type=="checkbox")

aa[i].checked = bool==1 ? true: (bool==0 ? false: !aa[i].checked)

}

}

</script>

<form id="form1">

<input type="checkbox"name="c1"><br>

<input type="checkbox"name="c2"><br>

<input type="checkbox"name="c3"><br>

<input type="checkbox"name="c4"><br>

<input type="checkbox"name="c5"><br>

<a href="#"onclick="cc('form1',1)">全选</a><a href="#"onclick="cc('form1',0)">全不选</a><a href="#"onclick="cc('form1',2)">反选</a>

</form>

<form id="form2">

<input type="checkbox"name="c11"><br>

<input type="checkbox"name="c12"><br>

<input type="checkbox"name="c13"><br>

<input type="checkbox"name="c14"><br>

<a href="#"onclick="cc('form2',1)">全选</a><a href="#"onclick="cc('form2',0)">全不选</a><a href="#"onclick="cc('form2',2)">反选</a>

</form>

<form id="form3">

<input type="checkbox"name="c19"><br>

<input type="checkbox"name="c21"><br>

<input type="checkbox"name="c31"><br>

<a href="#"onclick="cc('form3',1)">全选</a><a href="#"onclick="cc('form3',0)">全不选</a><a href="#"onclick="cc('form3',2)">反选</a>

</form>

</body>

</html>