select下拉框可輸入值
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>輸入框的下拉提示</title>
<style type="text/css">
<!--
body{background:#fff}
.Menu {
position:relative;
width:204px;
height:127px;
z-index:1;
background: #FFF;
border:1px solid #000;
margin-top:-100px;
display:none;
}
.Menu2 {
position: absolute;
left:0;
top:0;
width:100%;
height:auto;
overflow:hidden;
z-index:1;
}
.Menu2 ul{margin:0;padding:0}
.Menu2 ul li{width:100%;height:25px;line-height:25px;text-indent:15px;
border-bottom:1px dashed #ccc;color:#666;cursor:pointer;
change:expression(
this.onmouseover=function(){
this.style.background="#F2F5EF";
},
this.onmouseout=function(){
this.style.background="";
}
)
}
input{width:200px}
.form{width:200px;height:auto;}
.form div{position:relative;top:0;left:0;margin-bottom:5px}
#List1,#List2,#List3{left:0px;top:93px;}
-->
</style>
<script type="text/javascript">
function showAndHide(obj,types){
var Layer=window.document.getElementById(obj);
switch(types){
case "show":
Layer.style.display="block";
break;
case "hide":
Layer.style.display="none";
break;
}
}
function getValue(obj,str){
var input=window.document.getElementById(obj);
input.value=str;
}
</script>
</head>
<body>
<div class="form">
<div> Location:<input type="text" id="txt" name="txt" onfocus="showAndHide('List1','show');" onblur="showAndHide('List1','hide');"></div>
<!--列表1-->
<div class="Menu" id="List1">
<div class="Menu2">
<ul>
<li onmousedown="getValue('txt','中國CHINA');showAndHide('List1','hide');">中國CHINA</li>
<li onmousedown="getValue('txt','美國USA');showAndHide('List1','hide');">美國USA</li>
</ul>
</div>
</div>
<div> Sex:<input type="text" id="txt2" name="txt2" onfocus="showAndHide('List2','show');" onblur="showAndHide('List2','hide');"></div>
<!--列表2-->
<div class="Menu" id="List2">
<div class="Menu2">
<ul>
<li onmousedown="getValue('txt2','男Male');showAndHide('List2','hide');">男Male</li>
<li onmousedown="getValue('txt2','女Female');showAndHide('List2','hide');">女Female</li>
</ul>
</div>
</div>
<div> education:<input type="text" id="txt3" name="txt3" onfocus="showAndHide('List3','show');" onblur="showAndHide('List3','hide');"></div>
<!--列表3-->
<div class="Menu" id="List3">
<div class="Menu2">
<ul>
<li onmousedown="getValue('txt3',this.innerText);showAndHide('List3','hide');">大專</li>
<li onmousedown="getValue('txt3','本科');showAndHide('List3','hide');">本科</li>
<li onmousedown="getValue('txt3','碩士');showAndHide('List3','hide');">碩士</li>
<li onmousedown="getValue('txt3','本科');showAndHide('List3','hide');">本科</li>
</ul>
</div>
</div>
</div><br/>
</body>
</html>
<p align="center"></p>
現在的HTML5支援下拉框輸入,但是對瀏覽器相容比較差,自己用HTML4.0做了一個可輸入的下拉框,推薦給大家。
程式碼如下,實際上就是一個輸入框和一個下拉框組合,輸入框放在下拉框上面,另外可以擴充套件很多,例如要不要帶篩選什麼,這些加一些js程式碼就可以了。
備註一下:右邊的箭頭是自己弄的提個圖片,可以再簡單點的,也就是用預設的箭頭。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript" src="jquery-1.6.4.min.js"></script>
<title>無標題文件</title>
<script>
$(document).ready(function(){
$("select").click(function(){
var selectinput=this.parentNode;
var selectinput_input=$(selectinput).children("input");
var selectinput_select=$(selectinput).children("select");
selectinput_input.attr("value",selectinput_select.val());
});
});
</script>
</head>
<style>
.selectinput{
height:25px;
line-height:25px;
vertical-align:middle;
width: 200px;
overflow: hidden;
background: url(down_arrow_select.png) no-repeat right #FFFFFF;
}
.selectinput_select{
height:25px;
width:100%;
margin:0;
padding:0;
font:"宋體" 14px;
background: transparent;
-webkit-appearance: none;
}
.selectinput_input{
position:relative;
margin:0;
padding:0;
top:-23px;
left:1px;
height:20px;
line-height: 20px;
border:none;
width:20%;
font:"宋體" 14px;
}
</style>
<body>
<div class='selectinput' id="test3">
<select size='1' class="selectinput_select" >
<option value="test1">test1</option>
<option value="test2">test2</option>
<option value="test3">test3</option>
</select>
<input type='text' class="selectinput_input"/>
</div>
</body>
</html>