JQuery插件第五个:操作复选框

来源:互联网 发布:淘宝网购物车登录 编辑:程序博客网 时间:2024/05/16 05:29
 
var chb={o:null,f : function(){ return document.forms[0];},//获取一组复选框的值    Get:function($obj){          var ids=',';          $obj.each(function(){              ids+=$(this).is(":checked")?','+$(this).val():'';          });          ids=ids.replace(',,','');         ids=(ids==',')?'':ids;         return ids;      },  //给一组复选框设置值    Set:function($obj,checkBoxValues){          if(typeof checkBoxValues=='string')          {   var ids=','+checkBoxValues+',';            $obj.each(function(){                  var val=','+$(this).val()+',';                  $(this).attr("checked",ids.indexOf(val)>-1?true:false);              });          }        },//在某范围内全选或全不选s:function (obj,str){if(obj.checked == true)this.setCheck("all",str);elsethis.setCheck("clear",str);this.o=obj;},// 全选a:function () {this.setCheck("all");},//反选 r:function () {this.setCheck("rev");},// 全不选c:function () { this.setCheck("clear");},// 选择checkBoxsetCheck:function (sVal,sStr) { $("input:checkbox:not(:disabled)",this.f()).each(function(){var e=this;if(this.o!=e && sStr==null){if(sVal=="all")// 全选{e.checked=true; }else if(sVal=="rev")// 反选{e.checked=!e.checked; }else if(sVal=="clear")// 全不选{e.checked=false; }}// 选择某一控件内部的checkBoxelse if (this.o!=e && e.id.indexOf(sStr)>=0) {if(sVal=="all")// 全选{e.checked=true; }else if(sVal=="rev")// 反选{e.checked=!e.checked; }else if(sVal=="clear")// 全不选{e.checked=false; }}});},// 选择某一控件内部的checkBoxselControlIsCheck:function (sStr) { var iCount=0; $("input:checkbox:checked",this.f()).each(function(){var e=this;if(e.id.indexOf(sStr)>=0)iCount++; });return iCount;},checkboxChoose:function (){ $("input:checkbox:checked").each(function(){return true;});return false;},checkControlAll:function (sStr,sAll,sid,sidDiv) {        var checkboxCount = 0;        var count = 0;sAll=(sAll==null)?"selestAll":sAll;$("input:checkbox").each(function(){var i=this;            if (i.id.indexOf(sStr)>=0) {if(i.disabled!=true){checkboxCount++;                }            }if(i.id != sAll)   {if(i.checked==true&& sStr==null)   { count++;   }   else if(i.checked==true&&i.id.indexOf(sStr)>=0)   { count++;   }   }});$("#"+sAll).attr("checked",(count == checkboxCount )?true:false);        var iCount =(sid!=null)?this.selControlIsCheck(sid):0;        if(iCount==0 && sidDiv!=null)        {$("#"+sidDiv).css({"color":"red"}).text("*必选");        }        else if(iCount > 0 && sidDiv!=null)        {$("#"+sidDiv).css({"color":"black"}).text("√");        }    }}$.extend({chkBox:chb  });