html搜索框下拉怎么做,js实现带搜索功能的下拉框

本文实例为大家分享了js实现带搜索功能的下拉框,供大家参考,具体内容如下

1、介绍

在实现下拉框的时候,如果用select+option可以在满足pc端的需求,但如果需应用到手机端,由于select的样式太丑。所以接下来利用div+p实现到输入文本的下拉框

2、思路

1 利用一个input充当搜索框,div+p充当下拉框放置于input的下方。如图所示:

3ecf579d8ad281d265cd069e3d9b4593.png

2 接下来就是js的实现了,我们先把红色区域的div+p利用display:none隐藏起来。

对表单input添加onfocus事件,当input获取焦点的时候获取显示红色区域。

在对表单添加oninput事件,根据input的字段筛选出有关的p标签即可

3 对红色区域的div设置点击事件,利用事件委托将点击的p标签的值赋值到input上即可。

3、代码

*{

margin: 0;

padding: 0;

}

.search{

border: 1px solid transparent;

width: 400px;

height: 80px;

margin: 0 auto;

}

.search input{

border: 1px s

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用JavaScript和HTML实现搜索框下拉框,并且在搜索框的值发生变化时,下拉框的选项也会相应地变化。以下是一个简单的实现示例: HTML代码: ``` <div class="dropdown"> <input type="text" placeholder="Search" id="searchInput" onkeyup="filterOptions()"> <button class="dropbtn" onclick="toggleDropdown()">▼</button> <div class="dropdown-content" id="dropdownContent"> <a href="#">Option 1</a> <a href="#">Option 2</a> <a href="#">Option 3</a> <a href="#">Option 4</a> <a href="#">Option 5</a> <a href="#">Option 6</a> </div> </div> ``` JavaScript代码: ``` // 获取下拉框搜索框 var dropdownContent = document.getElementById("dropdownContent"); var searchInput = document.getElementById("searchInput"); // 显示/隐藏下拉框 function toggleDropdown() { dropdownContent.classList.toggle("show"); } // 过滤下拉框选项 function filterOptions() { // 获取搜索框的值 var filter = searchInput.value.toUpperCase(); // 获取所有选项 var options = dropdownContent.getElementsByTagName("a"); // 遍历所有选项 for (var i = 0; i < options.length; i++) { var option = options[i]; // 如果选项的文本包含搜索框的值,则显示该选项,否则隐藏该选项 if (option.innerHTML.toUpperCase().indexOf(filter) > -1) { option.style.display = ""; } else { option.style.display = "none"; } } } ``` CSS代码: ``` /* 下拉框样式 */ .dropdown { position: relative; display: inline-block; } /* 按钮样式 */ .dropbtn { background-color: #4CAF50; color: white; padding: 8px; font-size: 16px; border: none; cursor: pointer; } /* 下拉框内容样式 */ .dropdown-content { display: none; position: absolute; z-index: 1; background-color: #f1f1f1; min-width: 160px; overflow: auto; border: 1px solid #ddd; max-height: 200px; } /* 选项样式 */ .dropdown-content a { color: black; padding: 12px 16px; text-decoration: none; display: block; } /* 显示下拉框 */ .show { display: block; } ``` 这个示例实现了一个搜索框下拉框,当搜索框的值发生变化时,下拉框的选项也会相应地变化。你可以根据自己的需要修改样式和选项列表。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值