当前位置: 首页 > 图文教程 > 网络编程 > Javascript > 如何使用可以接受输入的列表框

Javascript
符合标准的对联广告
Firefox 无法获取cssRules 的解决办法
简单JS代码压缩器
不错的asp中显示新闻的功能
动态加载js文件 document.createElement
[原创]静态页面也可以实现预览 列表不同的显示方式
JS代码格式化和语法着色V2
关于javascript的“静态类"
显示/隐藏侧边栏
网页取色
cancelBubble阻止事件冒泡
屏蔽alt+f4代码,一个变通的方法
光标的一些操作总结
使用TextRange获取输入框中光标的位
Using the TextRange Object
textbox右键菜单
document.createRange实例
模仿IE自动完成功能
计算100000数组js脚本的执行时间
怎么让脚本或里面的函数在所有图片都载入完毕的时候执行

Javascript 中的 如何使用可以接受输入的列表框


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

我们在做网页的时候,有时候会需要一个可以接受输入的列表框,但是html中的<select>元素不能达到这个功能
有一个方法就是用activeX控件,但这样虽然很方便,有些人却不喜欢……^_^
方法如下:

<form>
<OBJECT classid=clsid:8BD21D30-EC42-11CE-9E0D-00AA006002F3 id=MdcCombo1 name=MdcCombo1 VIEWASTEXT>
<PARAM NAME="VariousPropertyBits" VALUE="746604571">
<PARAM NAME="BackColor" VALUE="2147483653">
<PARAM NAME="ForeColor" VALUE="2147483656">
<PARAM NAME="MaxLength" VALUE="0">
<PARAM NAME="BorderStyle" VALUE="0">
<PARAM NAME="ScrollBars" VALUE="0">
<PARAM NAME="DisplayStyle" VALUE="3">
<PARAM NAME="MousePointer" VALUE="0">
<PARAM NAME="Size" VALUE="2540;635">
<PARAM NAME="PasswordChar" VALUE="0">
<PARAM NAME="ListWidth" VALUE="0">
<PARAM NAME="BoundColumn" VALUE="1">
<PARAM NAME="TextColumn" VALUE="65535">
<PARAM NAME="ColumnCount" VALUE="1">
<PARAM NAME="ListRows" VALUE="8">
<PARAM NAME="cColumnInfo" VALUE="0">
<PARAM NAME="MatchEntry" VALUE="1">
<PARAM NAME="ListStyle" VALUE="0">
<PARAM NAME="ShowDropButtonWhen" VALUE="2">
<PARAM NAME="ShowListWhen" VALUE="1">
<PARAM NAME="DropButtonStyle" VALUE="1">
<PARAM NAME="MultiSelect" VALUE="0">
<PARAM NAME="Value" VALUE="">
<PARAM NAME="Caption" VALUE="">
<PARAM NAME="PicturePosition" VALUE="458753">
<PARAM NAME="BorderColor" VALUE="2147483654">
<PARAM NAME="SpecialEffect" VALUE="2">
<PARAM NAME="Accelerator" VALUE="0">
<PARAM NAME="GroupName" VALUE="">
<PARAM NAME="FontName" VALUE="Times New Roman">
<PARAM NAME="FontEffects" VALUE="1073741824">
<PARAM NAME="FontHeight" VALUE="240">
<PARAM NAME="FontOffset" VALUE="0">
<PARAM NAME="FontCharSet" VALUE="0">
<PARAM NAME="FontPitchAndFamily" VALUE="34">
<PARAM NAME="ParagraphAlign" VALUE="1">
<PARAM NAME="FontWeight" VALUE="400">
</OBJECT>
</form>

<script>
function loaditem(){
     with(document.all.MdcCombo1){

          AddItem("aaaaaa")
          AddItem("bbbbbb")
          AddItem("cccccc")
          AddItem("dddddd")
          AddItem("eeeeee")
          AddItem("ffffff")
      }
}

document.onload=loaditem
</script>

但是select元素配合css/javascript真的不可以达到这个效果吗?
答案是肯定的,至少也能模拟出类似效果
显然是可以把一个文本框独立层放在<select>之上,盖住<select>内容
然后在select元素的onchange中赋值给文本框,然后提交文本框内容……
呵呵,很简单呀——但是这样一做来看就傻眼了(具体你自个琢磨)
那么我们就要加上css这个强大工具:
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>

<body bgcolor="#FFFFFF" text="#000000">
<select name="select"style="position:absolute; left: 0px; top: 0px; width: 120px; height: 18px; clip: rect(0 120 18 100)" id="select" onchange="textfield.value=select.value;textfield.select()">
  <option value="aaaaaaaa">aaaaaaaa</option>
  <option value="bbbbbbbb">bbbbbbbb</option>
  <option value="cccccccc">cccccccc</option>
</select>
<input type="text" style="position:absolute; left: 0px; top: 0px; width: 100px; height: 18px" name="textfield">
</body>
</html>
不是很完善,留给看众完善了……呵呵