首页 > 其他分享 ><datalist>大多数浏览器不支持,用html.css 自己实现<datalist>功能

<datalist>大多数浏览器不支持,用html.css 自己实现<datalist>功能

时间:2024-04-08 12:56:50浏览次数:11  
标签:function 浏览器 dropdown getElementById html var document options css

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Custom Dropdown</title> <style>   .custom-dropdown {     position: relative;     display: inline-block;   }   .custom-dropdown input[type="text"] {     width: 200px;     padding: 5px;     border: 1px solid #ccc;     border-radius: 4px;   }   .custom-dropdown .dropdown-content {     display: none;     position: absolute;     ">#f9f9f9;     width: 200px;     max-height: 200px;     overflow-y: auto;     border: 1px solid #ddd;     border-radius: 4px;     z-index: 1;   }   .custom-dropdown .dropdown-content a {     display: block;     padding: 10px;     text-decoration: none;     color: #333;   }   .custom-dropdown .dropdown-content a:hover {     ">#ddd;   } </style> </head> <body>
<div class="custom-dropdown">   <input type="text" id="ssid" placeholder="请输入WIFI名称...">   <div class="dropdown-content" id="myDropdown">     <a href="#">ddddOption 1</a>     <a href="#">sssOption 2</a>     <a href="#">gggOption 3</a>     <a href="#">aaaOption 4</a>     <a href="#">bbOption 5</a>   </div> </div>
<script> // 显示下拉列表 function showDropdown() {   var dropdown = document.getElementById("myDropdown");   dropdown.style.display = "block"; }
// 隐藏下拉列表 function hideDropdown() {   var dropdown = document.getElementById("myDropdown");   dropdown.style.display = "none"; }
// 根据输入内容过滤选项 function filterOptions() {   var input = document.getElementById("ssid");   var filter = input.value.toLowerCase();   var options = document.getElementById("myDropdown").getElementsByTagName("a");   for (var i = 0; i < options.length; i++) {     var txtValue = options[i].textContent || options[i].innerText;     if (txtValue.toLowerCase().indexOf(filter) > -1) {       options[i].style.display = "";     } else {       options[i].style.display = "none";     }   } }
// 选中下拉框选项并填入输入框 function selectOption(option) {   var input = document.getElementById("ssid");   input.value = option.textContent.trim();       hideDropdown(); // 选中后隐藏下拉列表     }
// 添加事件监听器 document.getElementById("ssid").addEventListener("focus", showDropdown); document.getElementById("ssid").addEventListener("input", function() {   showDropdown();   filterOptions(); }); // document.getElementById("ssid").addEventListener("blur", hideDropdown); document.getElementById("ssid").addEventListener("focusout", function(event) {   if (!event.relatedTarget || !event.relatedTarget.closest("#myDropdown")) {     hideDropdown();   } }); // 给每个下拉框选项添加点击事件 var options = document.getElementById("myDropdown").getElementsByTagName("a"); for (var i = 0; i < options.length; i++) {   options[i].addEventListener("click", function() {     selectOption(this);   }); } </script>
</body> </html>

标签:function,浏览器,dropdown,getElementById,html,var,document,options,css
From: https://www.cnblogs.com/hphyyds/p/18120876

相关文章

  • WebUI测试-获取html页面表格数据并存到Excel中
    fromselenium.webdriver.supportimportexpected_conditionsasECimportpandasaspdtable=WebDriverWait(driver,10).until(EC.presence_of_element_located((By.CSS_SELECTOR,'table')))#表格元素rows=table.find_elements(By.CSS_SELECTOR,"tbody......
  • CSS浮动(浮动布局、浮动清除、浮动的特性)
    注:CSS浮动(浮动布局、浮动清除、浮动的特性)一、css浮动1、浮动1.1传统网页布局的三种方式​CSS提供了三种传统布局方式(简单说,就是盒子如何进行排列顺序):普通流(标准流)浮动定位这三种布局方式都是用来摆放盒子的,盒子摆放到合适位置,布局自然就完成了。注意:实际开发中,一......
  • CSS——定位的层级以及定位的特殊应用
    在CSS中,定位的层级是指通过z-index属性控制元素在堆叠顺序中的显示优先级。z-index属性的值为整数,值越大的元素会显示在值较小的元素之上。1.定位的层级通过z-index属性可以控制定位元素在堆叠顺序中的显示优先级。默认情况下,未定位的元素的z-index值为auto,定位元素......
  • CSS的定位——相对定位、绝对定位、固定定位、粘性定位
    CSS中的定位属性包括相对定位(RelativePositioning)、绝对定位(AbsolutePositioning)、固定定位(FixedPositioning)和粘性定位(StickyPositioning)。1.相对定位元素相对于其正常位置进行定位,仍然占据文档流中的位置,但可以通过偏移属性进行微调。.relative{position:relativ......
  • css选择器有哪几种类型
    CSS选择器类型CSS选择器用于指定HTML元素或元素组,以便向它们应用样式。有四种主要类型的CSS选择器:1.基本选择器基本选择器按名称选择元素,包括:元素选择器:选择具有特定HTML标签的元素,如 <p></p>、<h1></h1>类选择器:选择具有特定类属性的元素,如 .primary、.contain......
  • HTML 链接和图片
    ​ 在HTML中,链接和图片是构建网页的基本元素之一,它们分别通过<a>标签和<img>标签来实现。详细文档:HTML链接和图片-CJavaPy链接(Anchor)链接,也称为锚点,允许用户点击跳转到另一个页面或页面内的某个部分。链接的基本语法如下:<ahref="url">链接文本</a>href属性指定链接目......
  • 基于JSP+Mysql+HTml+Css宾馆酒店管理系统设计与实现
     博主介绍:黄菊华老师《Vue.js入门与商城开发实战》《微信小程序商城开发》图书作者,CSDN博客专家,在线教育专家,CSDN钻石讲师;专注大学生毕业设计教育和辅导。所有项目都配有从入门到精通的基础知识视频课程,学习后应对毕业设计答辩。项目配有对应开发文档、开题报告、任务书、P......
  • 用HTML5写奥林帕斯奖简介
    一、用VSCODE写奥林帕斯奖简介代码1、以.html为结尾写主要代码<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0">&......
  • HTML基础知识详解(下)(如果想知道html的全部基础知识点,那么只看这一篇就足够了!)
        前言:在上一篇文章中,我们已经学习完了超链接标签、列表标签和表格标签,但是我们还有一些标签没有学习,在这篇文章中,我们将学习剩余的标签。✨✨✨这里是秋刀鱼不做梦的BLOG✨✨✨想要了解更多内容可以访问我的主页秋刀鱼不做梦-CSDN博客首先让我们看一下还剩余......
  • HTML:HTML事件汇总
    html事件是用户和页面交互的一些效果,用户通过点击,触摸等等方式更新数据,页面在加载完成之后的交互效果就需要通过触发事件来完成,事件大概分为,鼠标事件,窗口事件,表单事件,键盘事件,媒体事件等HTML事件窗口事件(window事件)属性 值 描述onafterprint   script在打印文档之后运......