input模拟select功能,点击显示下拉选项,但不要求能够模糊搜索选项。

html有一个Input文本框和一个select下拉列表框,现在需要单击input文本框后,能够显示select下拉列表框选项,达到文本框模拟下拉列表框功能,而下拉列表框... html有一个Input文本框和一个select下拉列表框,现在需要单击input文本框后,能够显示
select下拉列表框选项,达到文本框模拟下拉列表框功能,而下拉列表框本身不显示。
需要补充的是:只能用JS或CSS实现,麻烦了,谢谢!
如上图效果,代码不能用jquery的JS包,只能使用JS和CSS。点击input后响应事件能够弹出下拉框选项,可以选择这些选项。但不要去一定能像上图那样能够模糊查询,当然,如果能够做到模糊查询那更好!多谢!
展开
 我来答
dreamofhappy
2017-03-24 · TA获得超过4586个赞
知道大有可为答主
回答量:5267
采纳率:40%
帮助的人:2108万
展开全部

如果你只是想模仿一下,试试我这个代码。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">


<head>

<meta charset="utf-8" />

<title>输入提示</title>

<script>

</script>

<style>

body {

font-family: "微软雅黑";

}

#search_box {

position: relative;

}

#search_box input {

font-family: "微软雅黑";

width: 160px;

outline: none;

padding: 5px;

border: 1px solid darkgray;

}

#search_box input:focus{

box-shadow: 1px 2px 7px rgba(10,10,10,0.2);

}

#search_box ul {

display: block;

padding: 0px;

margin: 0px;

width: 170px;

border: 1px solid darkgray;

border-top: none;

font-size: 13px;

list-style: none;

display: none;

}

#search_box li {

padding: 5px;

}

#search_box li:hover {

background: rgb(240, 240, 240);

}

</style>

</head>


<body>

<div id="search_box">

<input type="text" onfocus="document.getElementById('search_advice').style.display='block'" onblur="document.getElementById('search_advice').style.display='none'" placeholder="请输入" />

<ul id="search_advice">

<li>提示1</li>

<li>提示2</li>

<li>提示3</li>

<li>提示4</li>

<li>提示5</li>

</ul>

</div>


</body>


</html>

百度网友db2a4a18
2017-03-24 · TA获得超过202个赞
知道小有建树答主
回答量:363
采纳率:85%
帮助的人:229万
展开全部
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>_</title>
<style type="text/css">
.wrap input, .wrap select{
width:200px; margin:0, padding:0;
}
</style>
</head>

<body>
<div class="wrap">
<div><input type="text" id="txt" placeholder="请选择或输入" /></div>
<select size="6" id="sel" style="display:none">
<option>123</option>
<option>23456</option>
<option>1111</option>
<option>123333</option>
<option>aaaa</option>
<option>1bbb23</option>
</select>
</div>
<script type="text/javascript">
function $$(id){
return document.getElementById(id);
}
window.onload = function(){
$$("txt").onclick = function(){
$$("sel").style.display = "block"
};
$$("sel").onclick = function(){
this.style.display = "none"
$$("txt").value = this.options[this.selectedIndex].text;
};
};
</script>
</body>
</html>
追问
你好!虽然这段代码在W3School测试可以用,但是还是用到了jquery,导致在现场环境中用不了!
追答
你从哪里看到了jQuery,不要看到个$就是jQuery
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Demonor_
2017-03-20 · TA获得超过305个赞
知道小有建树答主
回答量:351
采纳率:86%
帮助的人:179万
展开全部
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>test</title>
</head>
<select id="sel" onChange="return select()">
<option></option>
<option>Chinese</option>
<option>English</option>
<option>math</option>
</select>
<script>
function select(){
var index = document.getElementById('sel').selectedIndex;
alert(index)
}
</script>
<body>
</body>
</html>
追问
你弄反了,不是选择下拉框弹出提示内容,而是点击输入框,下面会出现下拉框的选项
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式