www.gusucode.com > SiteEngine(建站引擎) 7.0 个人免费版源码程序 > data/js/jquery/zselect.js

    // JavaScript Document
function Zselect(NewSelectStyle,NewOptionsStyle,OptionsMouseOverStyle){
	var NewSelectStyle = NewSelectStyle?NewSelectStyle:"";
	
	var NewOptionsStyle = NewOptionsStyle?NewOptionsStyle:"";
	var OptionsMouseOverStyle = OptionsMouseOverStyle?OptionsMouseOverStyle:"";
	var currentzindex=100;
	if(($.browser.msie && $.browser.version < "7.0")) 
	{
		$(":input[tagName=SELECT]").each(function(i){
			if(this.multiple || this.id=="caction" || this.style.display=="none")
			{
				//caction 为积分管理时,连动的下拉选择,屏蔽
				return true;
			}
			var nowzindex=currentzindex-i;
			//$(this).hide().after("<input type='hidden' name='"+$(this).attr("name")+"'/><i class='"+NewSelectStyle+"'><input type='text' style='z-index:1;' readonly='readonly'/></i><ul class='"+NewOptionsStyle+"' style='display:none;padding:0;margin-left:0;list-style:none;position:absolute;overflow:hidden' ></ul><div><div></div></div>");
			//$(this).hide().after("<input type='hidden' name='"+$(this).attr("name")+"'/><div style='position:relative;z-index:"+nowzindex+"'><font style=\"font-size:1px;\">&nbsp;</font><i class='NewSelectStyle'  style='position:relative;'><input type='text' style='position:relative;' readonly='readonly'/></i><ul class='"+NewOptionsStyle+"' style='position:absolute;display:none;padding:0;margin:0;list-style:none;overflow:hidden;' ></ul></div>");
			
			$(this).hide().after("<input type='hidden' name='"+$(this).attr("name")+"'/><div style='position:relative;z-index:"+nowzindex+"'><font style=\"font-size:1px;\">&nbsp;</font><i class='NewSelectStyle'  style='position:relative;'><input type='text' style='position:relative;' readonly='readonly'/></i><ul class='"+NewOptionsStyle+"' style='position:absolute;display:none;padding:0;margin:0;list-style:none;' ></ul></div>");
			
			var Hider = $(this).next("input");
			var NewSelect = Hider.next("div").children("i").children("input");
			//var NewSelect = Hider.next("i").children("input");
			
			var NewOptions = NewSelect.parent("i").next("ul");
			
			if(NewOptionsStyle == ""){
				NewOptions.css({border:"1px solid #ccc","font-size":"12px","line-height":"20px",margin:"0"});
			}
			
			var selectedvalue=false;
			$(this).find("option").each(function(i){
				var val='';
				if(i==0)
					val = $(this).val();
				else
					val = $(this).val()?$(this).val():$(this).text();
				if(this.selected)
				{
					selectedvalue=true;
					Hider.val(val);
					NewSelect.val($(this).text());
				}
				NewOptions.append("<li alt='"+val+"'>"+$(this).text()+"</li>");
			});
			var NewOptionsWidth = NewOptions.width();
			if(NewOptionsWidth==0)
				NewOptionsWidth=70;
			var Pwidth = NewOptionsWidth+30;
			
			//var NewSelectLeft = NewSelect.offset().left;
			//var NewSelectTop = NewSelect.offset().top;
			//var NewSelectHeight = NewSelect.height();
			//var PwidthIE = $.browser.msie?Pwidth+2:Pwidth;
			//NewOptions.css({left:NewSelectLeft+"px",top:NewSelectTop+NewSelectHeight+7+"px",width:PwidthIE+"px",background:"#fff"});
			
			NewOptions.css({left:"1px",top:"25px",background:"#fff",width:Pwidth+"px"});
			
			NewSelect.css({width:Pwidth+"px"});
			NewOptions.children("li").css({padding:"0 5px","white-space":"nowrap",cursor:"hand",cursor:"pointer"});	
			
			NewSelect.focus(function(){
				NewOptions.slideDown(100);
				NewOptions.style.display='block';				
			}).blur(function(){
				NewOptions.slideUp(100);				
			});			
			if(selectedvalue==false)
			{
				Hider.val(NewOptions.children("li").eq(0).attr("alt"));
				NewSelect.val(NewOptions.children("li").eq(0).text());
			}
			var sourceselect=this;
			NewOptions.children("li").each(function(){
				$(this).hover(function(){
					$(this).addClass(OptionsMouseOverStyle);
					if(OptionsMouseOverStyle == ""){
						$(this).css({background:"#eee"});
					}
				},function(){
					$(this).removeClass(OptionsMouseOverStyle);
					if(OptionsMouseOverStyle == ""){
						$(this).css({background:"#fff"});
					}
				}).mousedown(function(){
					NewSelect.val($(this).text());
					$(sourceselect).attr('value',$(this).attr("alt"));
					$(sourceselect).trigger("change");
					Hider.val($(this).attr("alt"));
				});
			});
			$(this).hide();
			//$(this).remove();
		});
	}
}

jQuery(function($){
	Zselect("NewSelectStyle","NewOptionsStyle","OptionsMouseOverStyle");
});