先来看看JavaScript实现checkbox复选框全选/全不选的方法。这应该是一个比较实用的前端技巧吧,很多时候我们都需要点击一个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"> <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>
两种方法任选一吧,都比较容易。
下面再来介绍一下jQuery实现checkbox复选框全选/全不选的方法。虽然使用JavaScript很简单就可以实现,但是代码就非常的麻烦了。
下面我来给各位朋友介绍介绍使用jQuery具体的操作方法。
jQuery.attr 获取/设置对象的属性值,如:
$("input[name='chk_list']").attr("checked"); //读取所有name为'chk_list'对象的状态(是否选中) $("input[name='chk_list']").attr("checked",true); //设置所有name为'chk_list'对象的checked为true
再如:
$("#img_1").attr("src","test.jpg"); //设置ID为img_1的<img>src的值为'test.jpg' $("#img_1").attr("src"); //读取ID为img_1的<img>src值
例1:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta charset="utf-8"> <script src="https://www.jb51.net/jquery-1.7.2.min.js"></script> <script> $(document).ready(function(){ //是否选择进行判断 $(".btn").click(function(){ if ($("input:checkbox:checked").length == 0) { alert('你未选择爱好'); } }); //进行反选 $(".btn1").click(function(){ $("input[type=checkbox]").each(function(){ if ($(this).attr("checked")) { $(this).attr("checked",false); }else{ $(this).attr("checked",true); } }); }); }); </script> </head> <body> 爱好: <input type="checkbox" value="read">阅读 <input type="checkbox" value="music">音乐 <input type="checkbox" value="sport">体育<br /> <input type="button" value="提交"> <input type="button" value="反选"> </body> </html>
例2:
<script src="https://www.jb51.net/jquery-1.3.2.min.js"></script> <input type="checkbox"checkbox"checkbox"checkbox"checkbox"/>全选/取消全选 <script type="text/javascript"> <!-- $(function() { $("#checkedAll").click(function() { if ($(this).attr("checked") == true) { // 全选 $("input[name='checkbox_name[]']").each(function() { $(this).attr("checked", true); }); } else { // 取消全选 $("input[name='checkbox_name[]']").each(function() { $(this).attr("checked", false); }); } }); }); // --> </script>