怎么用html5+js+css实现如图所示的搜索下拉框,谢谢

JavaScript013

怎么用html5+js+css实现如图所示的搜索下拉框,谢谢,第1张

<div class="searchModel">

<select name="" id="" value="2">

<option value="0">科室</option>

<option value="1">疾病</option>

<option value="2">医院</option>

</select>

<input type="text" placeholder="请输入搜索内容">

<button>搜索</button>

</div>

<style>

html,

body,

div,

input,

select,

button {

margin: 0

padding: 0

border: none

outline: none

}

.searchModel {

display: flex

border: 1px solid orange

border-radius: 4px

overflow: hidden

margin: 20px

height: 44px

}

.searchModel select {

color: #fff

background: orange

padding: 0 22px

/* appearance: none */

/* -moz-appearance: none */

/* Firefox */

/* -webkit-appearance: none */

/* Safari 和 Chrome */

}

select::-ms-expand {display: none}

.searchModel select option{

color: #333

background: #fff

}

.searchModel input {

flex: 1

padding: 0 10px

}

.searchModel button {

width: 44px

color: #fff

background: orange

}

</style>

要改变下拉选项选中的样式,就用div去模拟下拉框

js部分,button提交表单,或者是div模拟提交ajax

HTML:

<!DOCTYPE html>

<html>

    <head>

        <title>Dropdown</title>

        <link rel="stylesheet" href="style.css">

        <meta charset="utf-8" />

    </head>

    <body>

        <ul>

            <li class="dropdown">

                <a id="a" href="javascript:void(0)" class="dropbtn" onclick="showList(this)">标题 A</a>

                <div class="dropdown-content" id="dropdown-a">

                    <a href="#">下拉 1</a>

                    <a href="#">下拉 2</a>

                    <a href="#">下拉 3</a>

                </div>

            </li>

            <li class="dropdown">

                <a id="b" href="javascript:void(0)" class="dropbtn" onclick="showList(this)">标题 B</a>

                <div class="dropdown-content" id="dropdown-b">

                    <a href="#">下拉 1</a>

                    <a href="#">下拉 2</a>

                    <a href="#">下拉 3</a>

                </div>

            </li>

        </ul>

        <script src="script.js"></script>

    </body>

</html>

CSS (style.css):

body {

    font-family: "Lucida Sans Unicode", "Lucida Grande", sans-serif

}

ul {

    list-style-type: none

    margin: 0

    padding: 0

    overflow: hidden

    background-color: #333

}

li {

    float: left

}

li a, .dropbtn {

    display: inline-block

    color: white

    text-align: center

    padding: 14px 16px

    text-decoration: none

}

li a:hover, .dropdown:hover .dropbtn {

    background-color: #1f75cf

}

li.dropdown {

    display: inline-block

}

.dropdown-content {

    display: none

    position: absolute

    background-color: #fafafa

    min-width: 160px

    box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2)

}

.dropdown-content a {

    color: black

    padding: 12px 16px

    text-decoration: none

    display: block

    text-align: left

}

.dropdown-content a:hover {

    color: white

    background-color: #1f75cf

}

.show {

    display: block

}

JavaScript (script.js):

function showList(o) {

    hideList("dropdown-content" + o.id)

    document.getElementById("dropdown-" + o.id).classList.toggle("show")

}

function hideList(option) {

    var dropdowns = document.getElementsByClassName("dropdown-content")

    

    for (var i = 0 i < dropdowns.length i++) {

        var openDropdown = dropdowns[i]

        if (openDropdown.id != option) {

            if (openDropdown.classList.contains('show')) {

                openDropdown.classList.remove('show')

            }

        }

    }

}

window.onclick = function(e) {

    if (!e.target.matches('.dropbtn')) {

        hideList("")

    }

}

点击标题 A:

点击标题 B:

JSFiddle 调试:jsfiddle.net/soL73u4y/2/

HTML中做一个可以输入的下拉框,需要用户添加label标签设置我们的下拉菜单选项的内容相应的选项值,然后设置select标签,在select标签内部设置option选项标签,设置文本框,设置label标签,显示文本框的说明文字,然后添加textarea标签,内部设置我们文本框的相关属性即可。具体操作步骤如下。

1、添加label标签设置我们的下拉菜单选项的内容相应的选项值,然后设置select标签,在select标签内部设置option选项标签,这里需要几个选项就设置几个标签。如下图所示。

2、将下拉菜单需要显示的每一个内容设置在option标签中,如图所示,预览的设置效果,在网页中我们可以看到一个下拉菜单。如下图所示。

3、有时候下拉菜单也需要设置一个默认的值,如果大部分内容都是相同的,可以将它设置为默认值,只需要在它相应的属性中设置为选中状态。如下图所示。

4、再次预览我们的网页,可以看到刚才设置checked的选项已经默认显示在了设置的下拉菜单中选中状态。如下图所以。

5、设置文本框,设置label标签,显示文本框的说明文字,然后添加textarea标签,内部设置文本框的相关属性。如下图所示。

6、最后,可输入下拉框制作完成。如下图所示。

注意事项:

HTML中做一个可以输入的下拉框按照上述步骤操作即可制作完成。