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

Javascript
jquery控制listbox中项的移动并排序
Jquery操作Select 简单方便 一个js插件搞定
JQuery SELECT单选模拟jQuery.select.js
用document.documentElement取代document.body的原因分析
Marquee配合DIV实现的文字滚动效果代码
JS溶解形式的文字切换特效
文字在网页上下浮动 学习可以不建议用
[原创]一段时间以后切换显示的广告代码
传智播客学习之JavaScript基础篇
javascript 带有滚动条的表格,标题固定,带排序功能.
jquery 可排列的表实现代码
jQuery帮助之CSS尺寸(五)outerHeight、outerWidth
jQuery checkbox全选/取消全选实现代码
javascript 去字符串空格终极版(支持utf8)
flash 得到自身url参数的代码
Dojo 学习笔记入门篇 First Dojo Example
JavaScript 语法集锦 脚本之家基础推荐
Javascript 中文字符串处理额外注意事项
JavaScript的eval JSON object问题
JavaScript OOP类与继承

Javascript 中的 具有edit功能的combobox


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-10   浏览: 114 ::
收藏到网摘: 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>