全选,就是把所有的选项全部选上。我们知道在input中有个属性checked,当这个属性的值为checked时,默认为时选上的,所有当点击全选时,只要给input全部增加一个checked属性即可。
//全选/全不选 功能
var qxNode=get("qx");
var fxNode=get("fx");
var inputNodes=get("spr").getElementsByTagName("input");
qxNode.onclick=function(){//点击全选按钮时触发事件
if(this.checked){
for(var i=0;i<inputNodes.length;i++){
inputNodes[i].checked="checked";
}
}else{
for(var i=0;i<inputNodes.length;i++){
inputNodes[i].checked=null;
}
}
}
反选,既选中的取消,没选中的选上,其实反选与全选/全不选这个功能的实现是非常相似的,都需要在添加checked属性前判断一下当前复选框处于什么样的状态
//反选的功能
fxNode.onclick=function(){//点击反选按钮时触发事件
for(var i=0;i<inputNodes.length;i++){
if(inputNodes[i].checked){
inputNodes[i].checked=null;
}else{
inputNodes[i].checked="checked";
}
}
}
通过id获取节点的方法:
function get(id){
return document.getElementById(id);
}