可编辑下拉框

 
<html>   
<head>   
<meta   name="GENERATOR"   content="Microsoft   FrontPage   5.0">   
<meta   name="ProgId"   content="FrontPage.Editor.Document">   
<meta   http-equiv="Content-Type"   content="text/html;   charset=gb2312">   
<title>可编辑下拉框</title>   
</head>     
<body>   
<table   style="border:2px   outset;background-color:#d2e8FF"   width="250"   height="100"   align="center">     
      <tr>   
          <td   width="60%"   height="30"   align="center">   
			<select   name="fason">   
				<option   value="可编辑下拉框">可编辑下拉框</option>   
				<option   value="作者">作者</option>   
			</select>   
          </td>     
      </tr>   
</table>       
<script   language="javascript">   
	function   combox(obj,select){   
		this.obj=obj   
		this.name=select;   
		this.select=document.getElementsByName(select)[0];   
		/*要转换的下拉框*/   
	}   
	/*初始化对象*/   
	combox.prototype.init=function(){   
		var   inputbox="<input   name='combox_"+this.name+"'   οnchange='"+this.obj+".find()'   "   
		inputbox+="style='position:absolute;width:"+(this.select.offsetWidth-16)+";height:"+this.select.offsetHeight+";left:"+getL(this.select)+";top:"+getT(this.select)+"'>"   
		document.write(inputbox)   
		with(this.select.style){   
		left=getL(this.select)   
		top=getT(this.select)   
		position="absolute"   
		clip="rect(0   "+(this.select.offsetWidth)+"   "+this.select.offsetHeight+"   "+(this.select.offsetWidth-18)+")"   
		/*切割下拉框*/   
		}   
		this.select.οnchange=new   Function(this.obj+".change()")   
		this.change()   
			
	}   
/*初始化结束*/   
    
	对象事件定义///   
	combox.prototype.find=function(){   
	/*当搜索到输入框的值时,下拉框自动定位*/   
		var   inputbox=document.getElementsByName("combox_"+this.name)[0]   
		with(this.select){   
		for(i=0;i<options.length;i++)   
			if(options[i].text.indexOf(inputbox.value)==0){   
				selectedIndex=i   
				this.change();   
				break;   
			}   
		}   
	}   
    
	combox.prototype.change=function(){   
		/*定义下拉框的onchange事件*/   
		var   inputbox=document.getElementsByName("combox_"+this.name)[0]   
		inputbox.value=this.select.options[this.select.selectedIndex].text;   
		with(inputbox){select();focus()};   
	}   
	对象事件结束///   
	/*公用定位函数(获取控件绝对坐标)*/   
	function   getL(e){   
		var   l=e.offsetLeft;   
		while(e=e.offsetParent)l+=e.offsetLeft;   
		return   l   
	}   
	function   getT(e){   
		var   t=e.offsetTop;   
		while(e=e.offsetParent)t+=e.offsetTop;   
		return   t   
	}   
/*结束*/   
</script>   
<script   language="javascript">   
	var   a=new combox("a","fason")   
	a.init()   
</script>   
    
</body>   
    
</html>

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值