<script>
var
CheckBox=div.getElementsByTagName(
'input'
);
//全选
function
CheckAll(){
for
(i=0;i<CheckBox.length;i++){CheckBox[i].checked=
true
;};
};
//不选
function
UnCheck(){
for
(i=0;i<CheckBox.length;i++){CheckBox[i].checked=
false
;};
};
//反选
function
othercheck(){
for
(i=0;i<CheckBox.length;i++){
if
(CheckBox[i].checked==
true
){ CheckBox[i].checked=
false
;}
else
{ CheckBox[i].checked=
true
}
}
};
</script>
第二种方法:
window.onload = function() { //先获得控制全选反选的input标签 var inputAll = document.getElementById("theadInp"); //获得tbody var tbody = document.getElementById("tbody"); //获得天tbody里面的子元素 var icheck = tbody.getElementsByTagName("input"); console.log(icheck); //给控制全选反选的input标签绑定事件 inputAll.onclick = function() { //遍历tbody里面的input标签,把inputAll的状态赋值给icheck for(var i = 0; i < icheck.length; i++) { icheck[i].checked = this.checked; } }
以为这样就结束了事了吗?然而并没有。里面还是有个小问题的,就是当下面的input有一个以上没选中的时候,那么inputAll的状态也必须要跟着变化,总不能只让人家听他一个人的话吧,这就太不像话了。
for(var i = 0; i < icheck.length; i++) { //给每个子元素都绑定事件 icheck[i].onclick = function() { //点击的时候在遍历icheck,看看是否有没选中的 for(var j = 0; j < icheck.length; j++) { //定义一个标志来记录 var flag = true; if(icheck[j].checked == false) { flag = false; } } inputAll.checked=flag; } }