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

Javascript
JavaScript 解析Json字符串的性能比较分析代码
js 日期字符串截取分割成单个具体的日期(2009-12-30 13:28:29)
javascript 倒计时代码
javascript 语法基础 想学习js的朋友可以看看
javascript获取元素文本内容的通用函数
javascript 动态设置已知select的option的value值的代码
jquery 简单的图片展示效果
js textarea自动增高并隐藏滚动条
Javascript 中介者模式实例
textbox 在光标位置插入字符功能的js实现(兼容ie,firefox)
jQuery Attributes(属性)的使用(二、类篇)
Javascript document.referrer判断访客来源网址
[原创]javascript 移动鼠标得到单元格所在table表中的rowIndex位置[兼容ie,firefox]
javascript获得光标所在的文本框(text/textarea)中的位置
event.srcElement 用法笔记e.target
javascript 导出数据到Excel(处理table中的元素)
javascript DOM操作之动态删除TABLE多行
Javascript在IE或Firefox下获取鼠标位置的代码
Javascript 多浏览器兼容性问题及解决方案
让div层随鼠标移动的实现代码 ie ff

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-10   浏览: 117 ::
收藏到网摘: 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>
不是很完善,留给看众完善了……呵呵