select搜索功能实现

2023-05-16

select搜索功能实现

最近在找工作 没时间写博客 现在找到了 就发发工作上的代码吧!
今天我们说说select标签的搜索功能;
拿到任务时,我先想到就是上网找资料,最后看到的都是各种jquery插件,实在是不好用 我现在又不是开发新的项目,没法乱用插件。最后只能自己想:ps(纯js实现)

1.实现可编辑select,我的实现方式就是在原有的select内容显示框中假如input输入框。掩盖一下;最后做值传递;
2.对input的内容进行循环判断,做到搜索功能。
3.对搜索出来的值,进行处理;
4.放到select中去;

这是效果图  应为没怎么修饰,大家凑合看

下面上代码:

<select  id="telUserName"  onchange="putValueToInput()">
            <option value="">--请选择--</option>
            <option value="yua">上海</option>
            <option value="yuangui">天津</option>
            <option value="fang">安徽</option>
            <option value="zhang">江苏</option>
            <option value="zhang">湖南</option>
            <option value="zhang">湖北</option>
        </select>
        <input  type="text" name="input"  placeholder="-请选择-" id="input" onblur="inputValue()" 
                style="width:60px; height: 13px; position: absolute;left: 8px;top: 8px; "/>
        <div style="width:80px;border:1px solid #ccc;display:none; " id="DIV">
        </div>

这是页面标签,下面来js:

<script type="text/javascript">
        function putValueToInput(){
            var telUserName= document.getElementById("telUserName");
            var perpage=telUserName.options[telUserName.selectedIndex].text;
            var input=document.getElementById("input");
            input.value=perpage;
        }

        function inputValue(){
            var input=document.getElementById("input").value;
            var telUserName= document.getElementById("telUserName");
            var options=telUserName.getElementsByTagName("option");
            var div=document.getElementById("DIV");
            div.innerHTML="";
            var a = 0;
            for(var i=options.length-1;i>=1;i--){
                var optionText=options[i].text;
                if(optionText.indexOf(input) >= 0){
                    div.style.display='block';
                    div.innerHTML+="<span style='font-size: 12px;' onclick='getVlaue(this)'>"+optionText+"</span><br/>";
                    a++;
                }
            }
            if(a==0){
                div.style.display='none';
            }
        }

        function getVlaue(obj){
            var telUserName= document.getElementById("telUserName");
            var options=telUserName.getElementsByTagName("option");
            var div=document.getElementById("DIV");
            for(var i=options.length-1;i>=1;i--){
                var optionText=options[i].text;
                var optionValue=options[i].value;
                if(obj.innerHTML==optionText){
                    telUserName.value=optionValue;
                    document.getElementById("input").value=optionText;
                    div.style.display='none';
                    div.innerHTML="";
                }
        }   
    }

</script>

简要解释一下这三段js的作用
1、putValueToInput()是实现select选中值回现到input中,应为我们这里的input就是对select标签内容的代替;
2、inputValue()这是在input输入内容时,将input的value取出和select的options的值作对比;实现搜素功能;
3、getVlaue将选中的值传给select和input;

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

select搜索功能实现 的相关文章

  • 单击标签未打开选择

    我一直以为 点击label将或多或少地 触发 相应表单元素的点击 然而 这似乎不起作用select 选择字段上的鼠标按下 动画有效 但选择未打开 我试过这个
  • 在今天和昨天之间选择

    我正在尝试在两个日期之间进行选择 如下所示 SELECT p Code p Name sum h PA 1 AS PA sum h PB 1 AS PB sum h PG 1 AS PG sum h GoedkeuringDoorNew G
  • SQL Server 的 SELECT JOIN 语句导致的死锁

    当执行带有两个表的 JOIN 的 SELECT 语句时 SQL Server 似乎 分别锁定语句的两个表 例如通过像这样的查询 这 SELECT FROM table1 LEFT JOIN table2 ON table1 id table
  • 从单个表中选择同一列两次但条件不同

    我想显示员工的姓名和号码以及老板的号码和姓名 如下所示 只有一张表 到目前为止我尝试过 SELECT ID Name Boss SELECT Name FROM Employees WHERE ID IN SELECT Boss FROM
  • 简单的 MySQL 语法错误 [关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我正在运行以下代码 但找不到错误是什么 谁能建议我应该检查什么 result mysql query SELECT FROM ta
  • 如何检查日期范围是否存在

    正如你从标题中可能注意到的 我的问题很难表达 但有一个问题 我有包含一些数据的 MySQL 表 在注册表中 我必须指定预订开始和结束时间 如何查询指定时间是否已登记预订 例如 我不应该能够添加从 13 20 开始到 15 00 结束的新预订
  • 在 PHP 中对逗号分隔值列表运行选择

    我在数据库上运行选择查询时遇到一些问题 一些数据以逗号分隔值的列表形式保存 例如 Table example tbl Id People Children 1 1 2 3 8 10 3 2 7 6 12 18 19 2 我正在尝试运行的示例
  • 跳出选择循环?

    我正在尝试使用select在循环中接收消息或超时信号 如果收到超时信号 则循环应中止 package main import fmt time func main done time After 1 time Millisecond num
  • 将选择值关联到 Angular 4 中的 ngModel

    我正在使用 Angular 4 尝试将 Value 关联到 ngModel 但得到Null 请帮助我连接ngValue to ngModel
  • 将 HTML 选择元素转换为带有子菜单的树

    我想让一个选择元素有一个树形的子菜单 我希望它是这样的 source colinear com http www colinear com rmenu gif 有没有一个 jQuery 插件可以将 select 元素变成这种东西 这里有树插
  • MySQL ORDER BY rand(),名称 ASC

    我想获取一个包含 1000 个用户的数据库并随机选择 20 个用户 ORDER BY rand LIMIT 20 然后按名称对结果集进行排序 我想出了以下查询not像我希望的那样工作 SELECT FROM users WHERE 1 OR
  • MySQL 如何使用返回多行的 SELECT 子查询插入表?

    MySQL 如何使用返回多行的 SELECT 子查询插入表 INSERT INTO Results People names VALUES SELECT d id FROM Names f JOIN People d ON d id f i
  • 当涉及多个渠道时,select 如何工作?

    我发现在多个非缓冲通道上使用 select 时 例如 select case lt chana case lt chanb 即使两个通道都有数据 但在处理此选择时 case chana 和 case chanb 的跟注不平衡 package
  • 在 JavaFX 中搜索 TableView 列表

    如何在 TableWie 中查找记录 例如通过 ID 并选择创建的行并将其放在 Java 8 JavaFX 中的屏幕中间 您可以使用以下方式搜索元素 int searchId table getItems stream filter ite
  • 选择前 n 个字符相等的行(MySQL)

    我有一张带有玩家句柄的桌子 如下所示 1 N Laka 2 N James 3 nor Brian 4 nor John 5 Player 2 6 Spectator 7 N Joe 从那里我想选择第一个 n 字符匹配的所有玩家 但我不知道
  • SQL Server - 将行连接到逗号分隔的列表中

    假设我有一个临时表 如下所示 Id Value 1 1 1 2 1 3 2 1 2 2 我希望我的桌子是这样的 Id ValueList 1 1 2 3 2 1 2 所以基本上我需要将我的值分组为逗号分隔的列表 我已经尝试过以下操作 SEL
  • MySQL - 选择一行 - 然后相对于所选行的下一个和上一个

    我会尽力澄清这一点 我需要在不使用 id 的情况下选择特定行和该选定行的前一个相对行以及该选定行的下一个相对行 这可能吗 简而言之 上一篇和下一篇 我不能 也许我只是不知道如何 使用 id 的原因是因为它们不是按顺序排列的 正如您从这个相当
  • codeigniter,获取mysql表列中的最大值

    我正在使用 codeigniter 2 我有一个 mysql 表列 存储每个学生所用的时间 例如 1 2327 0 6547 1 9876 我想获得最大值 值该列 这是我的代码 this gt db gt select max time t
  • 针对约 225 万行的单表选择查询的优化技术?

    我有一个在 InnoDB 引擎上运行的 MySQL 表 名为squares大约有 2 250 000 行 表结构如下 squares square id int 7 unsigned NOT NULL ref coord lat doubl
  • 从表中选择行,其中另一个表中具有相同 id 的行在另一列中具有特定值

    在 MySQL 中 如果我们有两个表 comments key value 1 foo 2 bar 3 foobar 4 barfoo and meta comment key value 1 1 2 1 3 2 4 1 我想得到来自以下人

随机推荐

  • PX4云台控制

    一 云台硬件配置 云台采用storm32bgc无刷三轴云台 xff0c 该云台支持通过飞控控制与WBUS多通道接收机控制 这里我们采用通过pixhawk4飞控进行控制 pwm控制模式 采用三条3pin杜邦线将飞控辅助通道AUX1 3连接至云
  • 行人和人脸识别数据集

    推荐一个可应用于无人车 无人机 监控识别相关的数据集 行人和人脸检测数据集 xff08 FEEMS xff09 xff1a GitHub neverland7D Face and Pedestrian Detection Dataset F
  • Acuro二维码识别与降落对准

    什么是Aruco码 xff1f Aruco码能做什么 xff1f 搜索任务 自主降落等辅助标识 替代复杂任务中较难识别的目标 xff08 短期替代 长期替代 xff09 SLAM中的地标 反解无人机位置 实现定点 最容易识别的目标之一 1
  • ADRC控制算法在多旋翼飞行器上的应用

    基础理论知识 xff1a 程序中涉及的部分知识点参考如下链接 xff1a ADRC算法以及参数整定 xff1a 关于ADRC算法以及参数整定 xff08 调参 xff09 的一些心得体会 西涯先生的博客 CSDN博客 adrc控制算法 AD
  • 补充总结:现代控制理论

    补充内容 xff1a 现代控制理论与经典控制理论的区别 xff1a 经典控制理论主要是借助于传递函数研究系统输出与输入的关系 xff0c 而不管系统到底内部结构如何 xff0c 好比一个未知的 黑匣子 现代控制理论相对而言是要研究系统内部的
  • 网上英语学习资源大整理

    翻译 http www bilinguist com 汉英论坛 xff0c 高手云集 url http www chinatranslate net url 中国翻译网 xff0c 号称全国最大的翻译专业网站 url http gb tra
  • 使用PID和LQR控制器进行多旋翼飞行器控制

    任务内容 通过调整PID和LQR控制器以实现稳定悬停的多旋翼飞行器 xff0c 运用在无论是在仿真中还是在实际系统中 参考内容 LQR控制部分基础参考内容 xff1a LQR控制器 参考链接 xff1a Linear Quadratic R
  • Ardupilot板载计算机上云实践——第一步

    阿里云ECS在基于MAVLink的飞行器的数据中转与日志上云应用 自己先搭建了一个Demo用于测试稳定性 xff0c 访问地址 xff1a http 182 92 127 202 8123 Ardupilot 官方在今年 xff08 202
  • ADRC Ardupilot代码分析

    记录一下自己对于Ardupilot ADRC控制代码的一些理解 GitHub链接 ADRC Active Disturbance Rejection Control by MichelleRos Pull Request 20243 Ard
  • Phillweston 自动驾驶 决策规划算法 面经

    By Phillweston 注 xff1a 原创链接如下 xff1a 详细 xff01 自动驾驶规划控制算法工程师面经 xff08 具体题目 43 回答思路 xff09 本人引用了此链接中的提问内容 xff0c 并根据自己的想法写了部分回
  • OpenWRT 分流DNS的设置

    文章出处 xff1a OpenWRT 分流DNS的设置 Issue 57 luckyyyyy blog 我自己根据实际需要基于上方的链接内容进行了相关补充 OpenWRT配置IPv6的方法参考如下文章 xff1a OpenWRT IPv6
  • 智鹰科技——无人机线路巡检系统商业计划书

    智鹰科技 无人机线路巡检系统商业计划书 第一章 执行总结1 1 项目背景1 2 产品介绍1 3 市场分析1 4 竞争分析1 5 营销策略1 6 公司战略1 7 公司概况1 8 财务与投融资计划1 9 风险分析 第二章 项目背景2 1 国内外
  • linux环境安装nodejs和npm环境

    原文地址 前言 因为刚刚换上hexo的框架 xff0c 想利用私有部署把Twikoo评论部署在博客上 xff0c 所以需要使用liunx安装node js 网络上对于安装linux的资料很少 xff0c 在我查找了一些资料之后终于把环境配置
  • python 一些常用但总是记不住的函数

    python 一些常用但总是记不住的函数 import numpy as np transpose 转置函数 y 61 np mat span class hljs number 1 span span class hljs number
  • 每天一篇论文 316/365 用于欠驱动系统能量控制端到端学习的深拉格朗日网络

    Deep Lagrangian Networks for end to end learning of energy based control for under actuated systems 摘要 将深度学习应用于控制领域 xff0
  • Android 注解(Annotation)的入门与使用(一)

    Android 注解 xff08 Annotation xff09 的入门与使用 xff08 一 xff09 概述什么是注解 xff08 Annotation xff09 注解 xff08 Annotation xff09 用来做什么元注解
  • Java的equals方法使用方法

    在标准Java库中包含150多个equals方法的实现 xff0c 这里给出一个比较完美的实现方法 1 xff09 显示参数命名为otherObject xff0c 稍后需要将它转换成另一个叫做other的变量 2 xff09 检测this
  • Java学习之旅--集合的使用(Map集合)

    好几天没有更新了 xff0c 主要是最近正在学习集合 xff0c 让博主有点头大 所以就耽误了 xff1a 现在就来说说集合里的Map集合 xff1a import java span class hljs preprocessor uti
  • Java学习之旅--线程的创建方法

    线程创建的方法一 span class hljs keyword package span com geminno day14 createthread1 span class hljs keyword public span span c
  • select搜索功能实现

    select搜索功能实现 最近在找工作 没时间写博客 现在找到了 就发发工作上的代码吧 xff01 今天我们说说select标签的搜索功能 xff1b 拿到任务时 xff0c 我先想到就是上网找资料 xff0c 最后看到的都是各种jquer