JQuery 플러그인 다섯 번째: 작업 확인란

3965 단어
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);
	else
		this.setCheck("clear",str);
	this.o=obj;
},
//  
a:function () 
{	
	this.setCheck("all");
},
//  
r:function () 
{
	this.setCheck("rev");
},
//  
c:function () 
{ 
	this.setCheck("clear");
},
//  checkBox
setCheck: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; 
					}
				}
				//  checkBox
				else 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; 
					}
				}
	});
},
//  checkBox
selControlIsCheck: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 
		 });

좋은 웹페이지 즐겨찾기