首页 > 推荐阅读 >基于jQuery的简单全选插件
资讯内容

相关词条:jQuery、插件、数据采集

基于jQuery的简单全选插件

 
 
  1. /* 功能:表格全选 
  2.  * 制作:Vilien 
  3.  * 日期:2013.7.13 
  4.  * 
  5.  * @usage $(checkbox).checkall(selector) 
  6.  * 
  7.  * @param checkbox 
  8.  * > 触发全选的checkbox,必须,类型为jQuery选择器 
  9.  * 
  10.  * @param selector 
  11.  * > 触发全选后需要选择的checkbox列表,可省略(谨慎),缺省为页面内所有checkbox 
  12.  * > 也可仅仅选择checkbox容器,程序将自动搜寻容器下的所有checkbox 
  13.  * 
  14.  * @eg 
  15.  * > 1). selector仅选择checkbox容器 
  16.  * > HTML: 
  17.  * >   <div class="boxs"><input type="checkbox" /><input type="checkbox" /></div> 
  18.  * >   <input type="checkbox" onclick="$(this).checkall('.boxs')" /> 
  19.  * 
  20.  * > 2). selector选择checkbox列表 
  21.  * > HTML: 
  22.  * >   <div class="boxs"><input name="ch" type="checkbox" /><input name="ch" type="checkbox" /></div> 
  23.  * >   <input type="checkbox" onclick="$(this).checkall(':checkbox[name=ch]')" /> 
  24.  */  
  25.   
  26. ;(function($){$.fn.extend({  
  27.     checkall: function(selector)  
  28.     {  
  29.         var _self = this,  
  30.             args = arguments;  
  31.         if (!_self.is(":checkbox")) return true; // 检查有效性   
  32.         if (event && event.type=="click") {  
  33.             run();  
  34.         } else {  
  35.             _self.on("click", run);  
  36.         }  
  37.         return _self;  
  38.         function run() {  
  39.             if (args.length<1) {  
  40.                 checked($(":checkbox").not(_self));  
  41.             } else {  
  42.                 $(selector).each(function(){  
  43.                     if (!$(this).is(":checkbox")) {  
  44.                         checked($(this).find(":checkbox").not(_self));  
  45.                     } else {  
  46.                         checked($(this));  
  47.                     }  
  48.                 });  
  49.             }  
  50.         }  
  51.         function checked(boxs) {  
  52.             boxs.prop("checked", _self.prop("checked"))  
  53.                 .off("change").on("change", function(){  
  54.                     !$(this).prop("checked") ? _self.prop("checked", false) : 0;  
  55.                 });  
  56.         }  
  57.     }  
  58. })})(jQuery);  
  59.  

 





有讯软件致力于为客户定制专业的数据采集软件及服务,主要包括:网页采集,网页信息采集,网页数据采集,网络数据采集,信息采集软件,数据采集软件,网页采集器,软件定制,爬虫采集,专业数据采集。