您的位置:首页 - 教程 - jQuery - 正文
jQuery实现复选框全选、全不选、反选问题解析

  今天打算用jQuery实现一下复选框的全选、全不选和反选问题,刚开始用的是attr("checked",true/false)方法,发现只能在最开始实现一次全选,可以实现全不选,无法实现反选,总之调试了好久死活得不到想要的效果。最后发现,jquery 1.7.2之前支持attr对固有属性的操作,后面的版本只能用prop了。详细了解jQuery中attr()和prop()的区别,请点击参考。

  下面贴上我的代码以供参考:

 <!doctype html>
 <html lang="en">
 <head>
     <meta charset="UTF-8">
     <title>全选、全不选、反选</title>
     <style type="text/css">
         #choose input {
             display: block;
         }
     </style>
     <script src="http://libs.baidu.com/jquery/1.9.1/jquery.min.js"></script>
     <script type="text/javascript">
         $(function(){
             var $choose = $("#choose input");
             //全选
             $("#all").click(function(){
                 $choose.each(function(){
                     $(this).prop("checked",true);
                 });
             });
             //全不选
             $("#not").click(function(){
                 $choose.prop("checked",false);
             });
             //反选
             $("#reverse").click(function(){
                 $choose.each(function(){
                     $(this).prop("checked",!$(this).prop("checked"));
                 });
             });
         });
     </script>
 </head>
 <body>
     <div id="box-function">
         <input id="all" type="button" value="全选" />
         <input id="not" type="button" value="全不选" />
         <input id="reverse" type="button" value="反选" />
     </div>
 
     <div id="choose">
         <input type="checkbox" />
         <input type="checkbox" />
         <input type="checkbox" />
         <input type="checkbox" />
         <input type="checkbox" />
         <input type="checkbox" />
         <input type="checkbox" />
         <input type="checkbox" />
         <input type="checkbox" />
         <input type="checkbox" />
         <input type="checkbox" />
         <input type="checkbox" />
     </div>
 </body>
 </html>

  

  全文完,欢迎各位前辈批评指正!


评论: