关闭

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

399人阅读 评论(0) 收藏 举报

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

具有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

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:109798次
    • 积分:2720
    • 等级:
    • 排名:第13986名
    • 原创:160篇
    • 转载:1篇
    • 译文:0篇
    • 评论:2条
    文章分类
    最新评论