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

[入库:2005年8月18日] [更新:2007年3月24日]

本文简介:选择自 graycarl 的 blog

我们在做网页的时候,有时候会需要一个可以接受输入的列表框,但是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>
不是很完善,留给看众完善了……呵呵

本文关键:列表框,接受输入,javascript,网页技巧
  相关方案
Google
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top