具有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、付费专栏及课程。

余额充值