当前位置: 首页 > 图文教程 > 网络编程 > Javascript > 具有edit功能的combobox

Javascript
在js中使用"with"语句中跨frame的变量引用问题
原型方法的不同写法居然会影响调试的解决方法
在JavaScript中遭遇级联表达式陷阱
JScript内置对象Array中元素的删除方法
获取JavaScript用户自定义类的类名称的代码
使用TextRange获取输入框中光标的位置的代码
使用onbeforeunload属性后的副作用
IE7提供XMLHttpRequest对象为兼容
encode脚本和normal脚本混用的问题与解决方法
用js判断用户浏览器是否是XP SP2的IE6
关于使用runtimeStyle属性问题讨论文章
javascript学习随笔(使用window和frame)的技巧
javascript学习随笔(编写浏览器脚本 Navigator Scripting )
跑马灯效果大全
让超链接显示提示信息的js代码
打开超链需要“确认”对话框的方法
javascript的对话框详解与参数
让网页上的超链接失效,不能点击的js代码
鼠标经过时链接文字的特别震撼的显示效果
显示页面的所有链接的js代码

Javascript 中的 具有edit功能的combobox


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-10   浏览: 251 ::
收藏到网摘: n/a

这是一个自己编写的htc控件

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