可以编辑的Select (第二版)

王朝html/css/js·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

观看效果

<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+1

editable.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>

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航