|          
 <script src="editableselect.js"></script><select id="EditableSelect">
 <option>可以编辑的select第二版</option>
 <option>Bencalie制作</option>
 </select>
 =======================editableselect.js
 window.onload=function(){var objSelect=EditableSelect
 var obj=document.all.EditableSelect
 getTop=obj.offsetTop;
 getLeft=obj.offsetLeft;
 while(objSelect=objSelect.offsetParent){
 getTop+=objSelect.offsetTop;
 getLeft+=objSelect.offsetLeft;
 }
  var oNewItem=document.createElement("OBJECT"); document.body.insertBefore(oNewItem);
 oNewItem.outerHTML="<object id=editable style=\"z-index:2;position:absolute\" type=\"text/x-scriptlet\" data=\"addin2.htm\"></object>";
  editable.style.left=getLeft+1editable.style.top=getTop+1
 editable.style.width=obj.offsetWidth-19
 editable.style.height=obj.offsetHeight-3
 
 obj.onchange=function(){editable.str(obj.options[obj.selectedIndex].text)}
 obj.onresize=function(){editable.style.width=obj.offsetWidth-19}
 }
 function addNewOption(value){EditableSelect.options[EditableSelect.length]=new Option(value,value)
 }
 =======================addin2.htm
 <script language="vbs">function public_str(theStrIn)
 strIn.value=theStrIn
 end function
 </script>
 <body leftmargin=0 topmargin=0>
 <script language="javascript">
 function check(){
 var obj=parent.document.all.EditableSelect
 var theValue=document.all.strIn.value.replace(/^\s*/g,"").replace(/\s*$/g,"")
 if(event.keyCode==13){
 if(theValue!=""){
 for(i=0;i<obj.length;i++)
 if(obj.options[i].text==theValue){
 alert("该选项已经存在!");
 document.all.strIn.focus();
 document.all.strIn.value="";
 return;
 }
 parent.addNewOption(theValue)
 }
 document.all.strIn.value=""
 }
 }
 </script>
 <input id=strIn style='border:0;width:100%;height:100%;padding-top:2px' onkeydown=check()>
 </body>
 
 
 |