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 });