Editable drop-down box - HTML
The code copy is as follows:
<div style="position:relative;">
<select onchange="document.getElementById('input').value=this.value">
<option value="Class A">Class A</option>
<option value="Class B">Class B</option>
<option value="Class C">Class C</option>
<option value="Class D">Class D</option>
</select>
<input id="input" name="input" style="position:absolute;width:99px;height:16px;left:1px;top:2px;border-bottom:0px;border-right:0px;border-left:0px;border-top:0px;">
</div>
Editable drop-down box-JS
The code copy is as follows:
<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>Editable drop-down box</title>
</head>
<body>
<table style="border:2px outset;background-color:#d2e8FF" align="center">
<tr>
<td align="center">
<select name="fason">
<option value="Editable drop-down box">Editable drop-down box</option>
<option value="Author">Author</option>
</select>
</td>
</tr>
</table>
<script language="javascript">
function combox(obj,select){
this.obj=obj
this.name=select;
this.select=document.getElementsByName(select)[0];
/*The drop-down box to be converted*/
}
/*Initialize object*/
combox.prototype.init=function(){
var inputbox="<input name='combox_"+this.name+"' onchange='"+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)+")"
/*Cut pull-down box*/
}
this.select.onchange=new Function(this.obj+".change()")
this.change()
}
/*Initialization ends*/
////////////// Object event definition//////////
combox.prototype.find=function(){
/*When the value of the input box is searched, the drop-down box will be automatically positioned*/
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(){
/*Define the onchange event of the drop-down box*/
var inputbox=document.getElementsByName("combox_"+this.name)[0]
inputbox.value=this.select.options[this.select.selectedIndex].text;
with(inputbox){select();focus()};
}
////////////////////////
/*Common positioning function (get the absolute coordinates of the control)*/
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
}
/*Finish*/
</script>
<script language="javascript">
var a=new combox("a","fason")
a.init()
</script>
</body>
</html>