由访问者自行输入数据的下拉框

下拉框可列出数据,然后还可以由用户自行输入,如何做到这一点?

具有edit功能的combobox    
 
<HTML>  
 <HEAD>  
 <PUBLIC>  
   <COMPONENT  TAGNAME="COMBOBOX">  
   <PROPERTY  NAME="Text"  GET="get_Text"  PUT="put_Text">  
   <PROPERTY  NAME="Width"  GET="get_Width"  PUT="put_Width">  
   <METHOD  NAME="SetFocus"  INTERNALNAME="htcFocus">  
   <METHOD  NAME="AddItems"  INTERNALNAME="htcAddItems">      
   <EVENT  NAME="onYYCenter"  ID="idEnter">  
   <EVENT  NAME="onYYCChoose"  ID="idChoose">  
   <ATTACH  EVENT="oncontentready"  ONEVENT="htcInit()">  
   </COMPONENT>  
 </PUBLIC>  
 <SCRIPT  LANGUAGE="javascript">  
   function  htcInit()  
   {  
 defaults.viewLink=document;  
 defaults.viewInheritStyle=false;  
 Body_Init();  
   }  
   function  htcAddItems(items)  
   {  
 var  i,len;  
 len=pCombo.options.length;  
 for(i=0;i<len;i++)  
 {pCombo.remove(0);}  
 for(i=0;i<items.length;i++)  
 {  
   var  o;  
   if((typeof  items[i])=='string')  
   {  
     if(!HasTheValue(items,i))  
     {  
       o=document.createElement('OPTION');  
       o.text=items[i];  
       pCombo.add(o);  
     }  
   }  
 }  
   }  
   function  htcFocus()  
   {  
     pText.focus();  
   }  
   function  get_Text()  
   {  
 return  pText.value;  
   }  
   function  put_Text(Value)  
   {  
 pText.value=Value;  
   }  
   function  get_Width()  
   {  
 return  pCombo.style.width;  
   }  
   function  put_Width(Value)  
   {  
 pCombo.style.width=Value;  
   }  
 </SCRIPT>  
 
 <SCRIPT  LANGUAGE="javascript">  
   function  Body_Init()  
   {  
 var  iRight=pCombo.clientWidth;  
 var  iBottom=pCombo.clientHeight;  
 var  iLeft=(pCombo.clientWidth-18);  
     pCombo.style.clip='rect(0,'+iRight+','+iBottom+','+iLeft+')';  
 pText.style.width=(pCombo.clientWidth);  
 pText.style.height=(pCombo.clientHeight);  
 pText.style.top=0;  
 pText.style.left=0;  
   }  
   function  Combo_Select()  
   {  
 pText.value=pCombo.options[pCombo.selectedIndex].text;  
   }  
   function  Text_ChkKey()  
   {  
     if(event.keyCode==13)  
         {  
   idEnter.fire();  
 }  
   }  
   function  HasTheValue(sitems,i)  
   {  
 var  ii;  
 for(ii=0;ii<i;ii++)  
 {  
   if(sitems[ii]==sitems[i])  
     return  true;  
 }  
 return  false;  
   }  
 </SCRIPT>  
 </HEAD>  
 <BODY>  
   <SELECT  STYLE="position:absolute;left:0;top:0;"  ONCHANGE="Combo_Select()"  NAME="pCombo">  
   </SELECT>  
   <INPUT  STYLE="position:absolute;left:0;top:0;z-index:4000"  onKeyPress="Text_ChkKey()"  TYPE="TEXT"  NAME="pText">  
   </BODY>  
</HTML>  
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值