JS如何配合input框实现模糊搜索

在JavaScript中,实现一个模糊搜索的搜索框功能,通常需要以下几个步骤:

  1. 创建一个HTML输入框和一个显示搜索结果的元素。
  2. 监听输入框的input事件,当用户输入时触发搜索。
  3. 在事件处理函数中,根据用户输入的关键词进行模糊搜索。
  4. 更新显示搜索结果的元素。
以下是一个简单的示例代码:
HTML部分:
<!DOCTYPE html>  
<html lang="en">  
<head>  <meta charset="UTF-8">  <meta name="viewport" content="width=device-width, initial-scale=1.0">  <title>模糊搜索示例</title>  
</head>  
<body>  <input type="text" id="searchInput" placeholder="输入关键词进行搜索...">  <ul id="searchResults"></ul>  <script src="script.js"></script>  
</body>  
</html>
JavaScript部分 (script.js):
// 假设这是你的原始数据,实际应用中可能从服务器获取或从其他数据源获取  
const data = [  { id: 1, name: '苹果' },  { id: 2, name: '香蕉' },  { id: 3, name: '橙子' },  { id: 4, name: '桃子' },  // ...更多数据  
];  const searchInput = document.getElementById('searchInput');  
const searchResults = document.getElementById('searchResults');  // 监听输入框的input事件  
searchInput.addEventListener('input', function(event) {  const query = event.target.value.trim().toLowerCase(); // 获取用户输入的关键词,并转换为小写以便进行不区分大小写的搜索  const filteredData = data.filter(item => item.name.toLowerCase().includes(query)); // 根据关键词进行模糊搜索,返回匹配项数组  displaySearchResults(filteredData); // 显示搜索结果  
});  function displaySearchResults(data) {  // 清空之前的搜索结果  searchResults.innerHTML = '';  // 遍历匹配项数组,创建对应的li元素并添加到ul中  data.forEach(item => {  const li = document.createElement('li');  li.textContent = item.name; // 显示名称,你也可以根据需要显示其他信息  searchResults.appendChild(li);  });  
}

这个示例中,我们创建了一个包含一些水果名称的数据数组。当用户在搜索框中输入时,我们会根据用户输入的关键词对数据进行模糊搜索,并将匹配的结果显示在下方的列表中。注意,这个示例是简单的客户端搜索,对于大型数据集或需要实时更新的数据,你可能需要考虑使用服务器端搜索或其他更高效的技术。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/822754.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

NH2-PEG-Silane 氨基聚乙二醇硅烷 生物材料表面修饰

NH2-PEG-Silane 氨基聚乙二醇硅烷 生物材料表面修饰 【中文名称】氨基聚乙二醇硅烷 【英文名称】Silane-PEG-NH2 【结 构】 【品 牌】碳水科技&#xff08;Tanshtech&#xff09; 【纯 度】95%以上 【保 存】-20 【规 格】500mg,1g,5g,10g 【产品特性】 生…

Java中的装箱和拆箱

本文先讲述装箱和拆箱最基本的东西&#xff0c;再来看一下面试笔试中经常遇到的与装箱、拆箱相关的问题。 目录&#xff1a; 装箱和拆箱概念 装箱和拆箱是如何实现的 面试中相关的问题 装箱和拆箱概念 Java为每种基本数据类型都提供了对应的包装器类型&#xff0c;至于为…

React-Redux(二)

​&#x1f308;个人主页&#xff1a;前端青山 &#x1f525;系列专栏&#xff1a;React篇 &#x1f516;人终将被年少不可得之物困其一生 依旧青山,本期给大家带来React篇专栏内容:React-Redux&#xff08;二&#xff09; 目录 react-redux 模块化 redux-thunk react-redu…

ArcGIS加载的各类地图怎么去除服务署名水印

昨天介绍的&#xff1a; 一套图源搞定&#xff01;清新规划底图、影像图、境界、海洋、地形阴影图、导航图-CSDN博客文章浏览阅读373次&#xff0c;点赞7次&#xff0c;收藏11次。一体化集成在一起的各类型图源&#xff0c;比如包括影像、清新的出图底图、地形、地图阴影、道路…

富文本回显 p 标签?去不掉怎么办?如何解决?

使用前端框架富文本控件上传的上传的数据&#xff0c;回显到文本框时显示<p></p>标签&#xff0c;并且数据库里面的数据也为带有p标签的数据&#xff0c;如何去掉 解决办法 使用正则表达式来讲HTML的内容进行替换更改&#xff0c;在vue中定义方法 //移除HTML标签…

Leetcode5--最长回文子串(双指针中心扩散法)

题目 给你一个字符串 s&#xff0c;找到 s 中最长的回文子串。 如果字符串的反序与原始字符串相同&#xff0c;则该字符串称为回文字符串。 示例 1&#xff1a; 输入&#xff1a;s "babad" 输出&#xff1a;"bab" 解释&#xff1a;"aba" 同…

【应用】Spring-Bean注入-xml+注解

Bean注入 | xml配置文件 Bean配置 别名配置 <!--设置别名&#xff1a;在获取Bean的时候可以使用别名获取&#xff0c;原名依旧可用--> <alias name"userT" alias"userNew"/><!--bean就是java对象,由Spring创建和管理--><!--id 是b…

SQL Server详细使用教程

SQL Server 是 Microsoft 公司开发的关系型数据库管理系统&#xff08;RDBMS&#xff09;&#xff0c;用于存储和检索数据。以下是 SQL Server 的详细使用教程&#xff1a; 目录 1. 安装 SQL Server 2. 连接到 SQL Server 3. 创建数据库 4. 创建数据表 5. 插入数据 6. 查…

中图分类法的正则表达式参考

文章目录 1. 中图分类法2. 正则表达式3. 使用方法4. 参考 1. 中图分类法 中图分类法&#xff0c;全称为《中国图书馆图书分类法》&#xff0c;简称《中图法》&#xff0c;是中国国内普遍采用的一种图书分类体系&#xff0c;用于组织和管理图书馆藏书&#xff0c;方便读者查找和…

Axure实现导航栏的展开与收缩

Axure实现导航栏的展开与收缩 一、概要介绍二、设计思路三、Axure制作导航栏四、技术细节五、小结 一、概要介绍 使用场景一般是B端后台系统需要以导航栏的展开与收缩实现原型的动态交互&#xff0c;主要使用区域是左边或者顶部的导航栏展开与收缩&#xff0c;同一级导航下的小…

MySQL-09-mysql 存储过程入门介绍

拓展阅读 MySQL 00 View MySQL 01 Ruler mysql 日常开发规范 MySQL 02 truncate table 与 delete 清空表的区别和坑 MySQL 03 Expression 1 of ORDER BY clause is not in SELECT list,references column MySQL 04 EMOJI 表情与 UTF8MB4 的故事 MySQL 05 MySQL入门教程&a…

Android 自定义SwitchPreference

1. 为SwitchPreference 添加背景&#xff1a;custom_preference_background.xml <?xml version"1.0" encoding"utf-8"?> <selector xmlns:android"http://schemas.android.com/apk/res/android"><item><shape android:s…

03-JAVA设计模式-组合模式

组合模式 什么是组合模式 组合模式&#xff08;Composite Pattern&#xff09;允许你将对象组合成树形结构以表示“部分-整体”的层次结构&#xff0c;使得客户端以统一的方式处理单个对象和对象的组合。组合模式让你可以将对象组合成树形结构&#xff0c;并且能像单独对象一…

mongodbTemplate 修改JSON [key: ‘1‘, key2: [{id:1, name: ‘name‘}] 中 key2.name属性

问题描述 mongodbTemplate 修改JSON [key: ‘1‘, key2: [{id:1, name: ‘name‘}] 中 key2.name属性 代码 Query query Query.query(Criteria.where("key").is(1) .and("key2.id").is(1) …

python基础——类型注解【变量,函数,Union】

&#x1f4dd;前言&#xff1a; 上一篇文章Python基础——面相对象的三大特征提到&#xff0c;python中的多态&#xff0c;python中&#xff0c;类型是动态的&#xff0c;这意味着我们不需要在声明变量时指定其类型。然而&#xff0c;这可能导致运行时错误&#xff0c;因为我们…

Win10系统VScode远程连接VirtualBox安装的Ubuntu20.04.5

1.打开虚拟机&#xff0c;在中端中输入命令: sudo apt-get install openssh-server 安装ssh 我这里已经安装完成&#xff0c;故显示是这样 2.输入命令&#xff1a;sudo systemctl start ssh 启动远程连接 注意&#xff0c;如果使用VirtualBox安装的虚拟机&#xff0c;需要启用…

Jmeter03:直连数据库

1 Jmete组件&#xff1a;直连数据库 1.1 是什么&#xff1f; 让Jmeter直接和数据库交互 1.2 为什么&#xff1f; 之前是通过接口操作数据库&#xff0c;可能出现的问题&#xff1a;比如查询可能有漏查误查的情况&#xff0c;解决方案是人工对不&#xff0c;效率低且有安全隐患…

Spring核心容器总结

2.2 核心容器总结 2.2.1 容器相关 BeanFactory是IoC容器的顶层接口&#xff0c;初始化BeanFactory对象时&#xff0c;加载的bean延迟加载 ApplicationContext接口是Spring容器的核心接口&#xff0c;初始化时bean立即加载 ApplicationContext接口提供基础的bean操作相关方法…

了解 Unity AI:从初学者到高级的综合指南

游戏中的AI是什么? 游戏中的人工智能是指利用人工智能技术使视频游戏中的非玩家角色和实体智能地行动、做出决策、对游戏环境做出反应,并提供引人入胜的动态游戏体验。什么是NPC? NPC 代表“非玩家角色”。NPC 是视频游戏、角色扮演游戏中不受人类玩家控制的角色。它们是计算…

Springboot+Vue项目-基于Java+MySQL的蜗牛兼职网系统(附源码+演示视频+LW)

大家好&#xff01;我是程序猿老A&#xff0c;感谢您阅读本文&#xff0c;欢迎一键三连哦。 &#x1f49e;当前专栏&#xff1a;Java毕业设计 精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; &#x1f380; Python毕业设计 &…