尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
jQuery 实时模糊搜索实战教程(无防抖原生写法)
一、前言在后台管理系统开发中列表顶部搜索框是必备功能用户输入关键词就能实时过滤表格数据提升查找效率。很多初学者会直接监听输入框 input 事件每输入一个字符立刻执行筛选逻辑实现即时搜索效果。本文基于 jQuery 完整实现无防抖实时模糊搜索拆解每一段代码含义适合前端入门学习。二、完整页面代码html预览jQuery实时搜索分类标题script // 全局存储所有原始列表数据 let listData [] // 监听输入框实时输入事件 $(#titleb).on(input, function () { fieldofsearch() }) // 搜索核心处理函数 function fieldofsearch() { // 1. 获取输入框内容去除首尾空格 let data $(#titleb).val().trim(); // 2. filter遍历原始数据匹配关键词 let Filterpackage listData.filter(function(item) { // 判断当前条目的标题是否包含输入关键词 let result item.title.includes(data) // 返回匹配结果true则保留这条数据 return result; }) // 3. 判断筛选后数据是否为空弹出对应提示 if (Filterpackage.length 0) { Toast.showError(无搜索结果) } else { Toast.showSuccess(搜索成功) } // 4. 将筛选后的新数据传入分页渲染函数刷新列表 initPagination(Filterpackage) } // 模拟弹窗提示组件 const Toast { showSuccess: msg console.log(成功提示 msg), showError: msg console.log(错误提示 msg) } // 模拟表格分页渲染函数 function initPagination(arr) { console.log(渲染列表数据, arr) } /script三、逐段代码详细解析 1. HTML 搜索布局 html 预览分类标题classsearch_item给搜索区域统一样式类方便布局调整 label文字说明标识输入框用途 idtitleb唯一标识输入框jQuery 通过 id 快速获取元素 placeholder输入框默认提示文字引导用户输入关键词。 2. 全局数据源变量 js 运行 let listData []//搜索数据 全局数组用来存放页面完整的原始列表数据。 筛选操作永远基于这份完整数据不会丢失全部内容清空搜索词时可以还原所有列表。 3. 输入框实时监听 js 运行 $(#titleb).on(input, function () { fieldofsearch() }) on(input, 回调)监听输入框的输入事件每输入、删除一个字符都会立刻触发 每次触发直接调用搜索函数 fieldofsearch()实现一边打字一边实时筛选。 补充区分input vs change input实时触发适合实时搜索 change只有输入框失去焦点才触发无法即时筛选。 4. 核心搜索函数 fieldofsearch ① 获取输入内容 js 运行 let data $(#titleb).val().trim(); $(#titleb).val()获取输入框内用户输入的文字 .trim()清除文字首尾空格避免用户输入全空格产生无效搜索。 ② filter 遍历筛选数据 js 运行 let Filterpackage listData.filter(function(item){ let result item.title.includes(data) return result; }) Array.filter()数组遍历方法自动循环数组每一条数据 回调参数 item代表当前循环到的单条列表对象 item.title取当前条目里的标题字段用来和关键词匹配 includes(data)模糊匹配方法判断标题字符串中是否包含输入的关键词 return result返回布尔值true 代表这条数据匹配成功会存入新数组 Filterpackage。 ③ 判断搜索结果并提示 js 运行 if(Filterpackage.length 0){ Toast.showError(无搜索结果) }else{ Toast.showSuccess(搜索成功) } Filterpackage 是筛选完成后的新数组 length 0数组为空说明没有匹配到任何数据弹出错误提示 数组长度大于 0存在匹配数据弹出成功提示。 ④ 重新渲染列表 js 运行 initPagination(Filterpackage) 把筛选后的数组传给分页渲染函数页面会根据新数据重新渲染表格、分页展示搜索后的内容。 四、两种搜索写法对比拓展知识点 本文无防抖实时搜索 每输入一个字符立刻筛选响应速度快缺点数据量大时频繁执行筛选会轻微卡顿。 带防抖定时器搜索上一篇代码 使用 setTimeout 延迟执行停止输入一段时间后再搜索减少执行次数性能更好项目开发更推荐。 五、代码优化小技巧 增加空关键词判断输入框清空时自动恢复全部数据 js 运行 let data $(#titleb).val().trim(); if (!data) { initPagination(listData); return; } 简化 filter 回调使用箭头函数简写 js 运行 let Filterpackage listData.filter(item item.title.includes(data)) 六、总结 使用 input 事件监听输入框实现实时搜索 Array.filter() 遍历数组搭配 includes() 实现前端本地模糊匹配 通过判断筛选数组长度区分有无搜索结果给出对应提示 将过滤后的新数组传入渲染函数刷新页面列表数据。
RELATED

相关推荐

AionUi完全指南:3分钟掌握本地AI图形化界面的终极方案

AionUi完全指南:3分钟掌握本地AI图形化界面的终极方案

AionUi完全指南:3分钟掌握本地AI图形化界面的终极方案 【免费下载链接】AionUi Free, local, open-source 24/7 Cowork app for OpenClaw, Hermes Agent, Claude Code, Codex, OpenCode, Gemini CLI and 20 more CLI | Customize your assistants | Star if you lik…

📅 2026/8/14 20:10:56
现代C++设计模式代码审查指南:识别和修复常见模式实现错误

现代C++设计模式代码审查指南:识别和修复常见模式实现错误

现代C设计模式代码审查指南:识别和修复常见模式实现错误 【免费下载链接】design-pattern Design Patterns In Modern C 中文版翻译 项目地址: https://gitcode.com/gh_mirrors/des/design-pattern 在现代C开发中,设计模式是提高代码质量和可维护…

📅 2026/9/8 4:35:14
5步将电视盒子改造为Armbian服务器:释放Amlogic设备潜能

5步将电视盒子改造为Armbian服务器:释放Amlogic设备潜能

5步将电视盒子改造为Armbian服务器:释放Amlogic设备潜能 【免费下载链接】amlogic-s9xxx-armbian Supports running Armbian on Amlogic, Allwinner, and Rockchip devices. Support a311d, s922x, s905x3, s905x2, s912, s905d, s905x, s905w, s905, s905l, rk3588…

📅 2026/9/9 14:12:56
MORE NEWS

更多资讯

📰

Openship连接自己的VPS教程:从SSH接入到首次部署全记录

Openship连接自己的VPS教程:从SSH接入到首次部署全记录 【免费下载链接】openship Self-hosted deployment platform 项目地址: https://gitcode.com/GitHub_Trending/ope/openship OpenShip 是一款开源的自托管部署平台(Self-hosted deployment …

📰

System: {System Name}

System: {System Name} 【免费下载链接】claude-skills 67 Specialized Skills for Full-Stack Developers. Transform Claude Code into your expert pair programmer. 项目地址: https://gitcode.com/GitHub_Trending/claud/claude-skills Requirements Functional …

📰

如何配置 MCP Toolbox 的 Secure Parameters 让应用端敏感参数带外传递给工具

如何配置 MCP Toolbox 的 Secure Parameters 让应用端敏感参数带外传递给工具 【免费下载链接】mcp-toolbox MCP Toolbox for Databases is an open source MCP server for databases. 项目地址: https://gitcode.com/GitHub_Trending/ge/mcp-toolbox 在 MCP Toolbox 中…

📰

Kubescape Rego 与 CEL 对等性验证:regocelparity 夹具目录的设计、实现与刷新指南

Kubescape Rego 与 CEL 对等性验证:regocelparity 夹具目录的设计、实现与刷新指南 【免费下载链接】kubescape Kubescape is an open-source Kubernetes security platform for your IDE, CI/CD pipelines, and clusters. It includes risk analysis, security, co…

📰

LiteParse Python 使用指南:基于 PDFium 与 Rust 内核的高性能文档解析 SDK

LiteParse Python 使用指南:基于 PDFium 与 Rust 内核的高性能文档解析 SDK 【免费下载链接】liteparse A fast, helpful, and open-source document parser 项目地址: https://gitcode.com/GitHub_Trending/li/liteparse LiteParse 是一个开源的高性能文档解…

📰

git-bug webui 命令完全指南:在浏览器中管理分布式 Bug 跟踪器

git-bug webui 命令完全指南:在浏览器中管理分布式 Bug 跟踪器 【免费下载链接】git-bug Distributed, offline-first bug tracker embedded in git 项目地址: https://gitcode.com/GitHub_Trending/gi/git-bug git-bug webui 是 git-bug 提供的三大交互界面…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬