这应该是一个比较实用的前端技巧吧,很多时候我们都需要点击一个checkbox,然后将所有的复选框自动全部选中,比如新浪邮箱中,一些CMS系统的后台中,使用本JS效果后,会大大增强了操作体验,那么究竟是如何实现这一功能的呢?别着急,跟我一步一步实现。
我们先把那些带复选框的列表弄好,还没加全选、全不选时候的状态,大概是这样的:
<input type=checkbox name=chk>
<input type=checkbox name=chk>
<input type=checkbox name=chk>
<input type=checkbox name=chk>
<input type=checkbox name=chk>
<input type=checkbox name=chk>
然后我们在列表的旁边放一个控制checkbox的Checkbox:
全选:<input type=checkbox onclick=sel('chk')>
下面是定义点击全选的checkBox后所要执行的JS代码,用JS遍历所有checkbox,并改变checkbox的状态:
<script language="javascript">
function sel(a){
o=document.getElementsByName(a)
for(i=0;i<o.length;i++)
o[i].checked=event.srcElement.checked
}
</script>
下面还有一种实现JS全选、反选的功能,直接帖代码了,自己整理吧。
<input type=checkbox name=m>
<input type=checkbox name=m>
<input type=checkbox name=m>
<!--放一个控制全选的按钮-->
全选<input type="checkbox" value="1" onclick="mm(this)">
<script language=javascript>
<!--JS部分-->
function mm(o)
{
var a = document.getElementsByName("m");
for (var i=0;i<a.length;i++){
a[i].checked = o.checked;
}
}
</script>
两种方法任选一吧,都比较容易,喜欢就收藏吧。