前端html中jQuery实现对文本的搜索功能并把搜索相关内容显示出来


Posted in jQuery onNovember 14, 2017

做项目的时候有这么一个需求,客户信息显示出来后我要搜索查找相关的客户,并把相关的客户信息全部显示出来,因为一个客户全部信息我写在一个div里面  所以显示的时候就是显示整个div。先看看实现的效果: 

前端html中jQuery实现对文本的搜索功能并把搜索相关内容显示出来

当我输入瓦窑村  就把相关带瓦窑的客户信息显示出来并把瓦窑村字体设置红色, 其他的就不显示;下面看html代码:

<body>
 <div class="bar bar-header-secondary" style="top:0">
  <div class="searchbar">
   <a class="searchbar-cancel">取消</a>
   <div class="search-input">
    <label class="icon icon-search" for="search"></label>
    <input type="text" id="txtSearch" onChange="txtSearch()" placeholder="输入关键字...">
   </div>
  </div>
 </div>
 <div class="content" id="divMain" style="top:2.2em">
  <div class="card">
   <div class="card-header"><div>富民青泉假有限公司</div> <span>530124210342</span></div>
   <div class="card-content">
    <div class="card-content-inner">
     客户经理:卢燕洲<br>
     负责人:张仕城 <a href="tel:13187876969" rel="external nofollow" >12345698711</a>
     <br>
     地址:富民县东村镇乐在村委会乐在村张仕城
     <br>
     客户分档:二档
    </div>
   </div>
  </div>

后面有n个<div class="card">这里就不重复了


</div>
</body>

 在我这里用的是onChange事件,这个根据个人的需要可以改;

<style type="text/css">
  .changestyle{color:red;font-weight:600;}
 </style>
 <script type="text/javascript">
  function txtSearch()
  {
   //遍历移除b标签,防止第二次搜索bug
   $(".changestyle").each(function()
   {
     var xx=$(this).html(); 
     $(this).replaceWith(xx);
    });
   //整个客户信息div
   var str=$("#divMain").html();
   //文本输入框
   var txt=$("#txtSearch").val();
   //不为空
   if($.trim(txt)!="")
   {
    //定义b标签样式红色加粗
    var re="<b class='changestyle'>"+txt+"</b>";
    //替换搜索相关的所有内容
    var nn=str.replace( new RegExp(txt,"gm"),re);
    //赋值
    // document.getElementById("divMain").innerHTML=nn;
    $("#divMain").html(nn);
    //显示搜索内容相关的div
   $(".card").hide().filter(":contains('"+txt+"')").show(); 
   }
   else
   {
   $(".card").show();
   }
  }
 </script>

其实整体的思路是这样的:

 1、先把要搜索的内容去html里面找,找到了就全部替换成<b class='changestyle'>"+搜索的内容+"</b>;changestyle里面的样式红色,加粗

 2、再把包含整个内容的div显示出来$(".card").hide().filter(":contains('"+txt+"')").show(); card就是整个包含客户信息的div;

 3、大家都知道这样改变了原来div的结构,里面春文本的变成了这样如果第二次输入的时候不把整个div恢复到加载页面的时候搜索就会出bug

前端html中jQuery实现对文本的搜索功能并把搜索相关内容显示出来

明显多了两个b标签 如果不遍历移除b标签我搜瓦窑村在搜村委会就这样

前端html中jQuery实现对文本的搜索功能并把搜索相关内容显示出来

就不会显示红色了;

 4、个人学到的关键技术:移除标签,替换全部相关到的文本replace方法,显示需要的div(过滤)filter方法!

总结:其中遇到的问题不止这些还有很多的,上网查了很多资料,纸上得来终觉浅,总是一次一次不同想法不同思路解决不同bug出来的;这很基础,只要有想法有思路就去做,不会的百度,一个点一个点的来。日积月累的慢慢前进吧!

总结

以上所述是小编给大家介绍的前端html中jQuery实现对文本的搜索功能并把搜索相关内容显示出来,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

jQuery 相关文章推荐
为Jquery EasyUI 组件加上清除功能的方法(详解)
Apr 13 jQuery
jquery网页加载进度条的实现
Jun 01 jQuery
使用jQuery实现简单的tab框实例
Aug 22 jQuery
jQuery plugin animsition使用小结
Sep 14 jQuery
关于jquery layui弹出层的使用方法
Apr 21 jQuery
jQuery实现仿京东防抖动菜单效果示例
Jul 06 jQuery
基于jQuery ztree实现表格风格的树状结构
Aug 31 jQuery
jQuery实现条件搜索查询、实时取值及升降序排序的方法分析
May 04 jQuery
Jquery属性的获取/设置及样式添加/删除操作技巧分析
Dec 23 jQuery
jQuery实现小火箭返回顶部特效
Feb 03 jQuery
jquery检测上传文件大小示例
Apr 26 jQuery
jquery实现穿梭框功能
Jan 19 jQuery
jQuery除指定区域外点击任何地方隐藏DIV功能
Nov 13 #jQuery
jQuery实现checkbox即点即改批量删除及中间遇到的坑
Nov 11 #jQuery
浅谈jquery中ajax跨域提交的时候会有2次请求的问题
Nov 10 #jQuery
js与jQuery实现的用户注册协议倒计时功能实例【三种方法】
Nov 09 #jQuery
jQuery.Sumoselect插件实现下拉复选框效果
Nov 09 #jQuery
jQuery实现动态添加节点与遍历节点功能示例
Nov 09 #jQuery
简单实现jquery隔行变色
Nov 09 #jQuery
You might like
实现获取http内容的php函数分享
2014/02/16 PHP
ThinkPHP中自定义错误页面和提示页面实例
2014/11/22 PHP
PHP实现发送邮件的方法(基于简单邮件发送类)
2015/12/17 PHP
Yii2.0 RESTful API 基础配置教程详解
2018/12/26 PHP
关于laravel 数据库迁移中integer类型是无法指定长度的问题
2019/10/09 PHP
Js控制弹窗实现在任意分辨率下居中显示
2013/08/01 Javascript
jQuery 属性选择器element[herf*='value']使用示例
2013/10/20 Javascript
JS中window.open全屏命令解析及使用示例
2013/12/11 Javascript
javascript修改IMG标签的src问题
2014/03/28 Javascript
jQuery控制TR显示隐藏的三种常用方法
2014/08/21 Javascript
javascript垃圾收集机制的原理分析
2016/12/08 Javascript
详解vue 中使用 AJAX获取数据的方法
2017/01/18 Javascript
Vue-cli配置打包文件本地使用的教程图解
2018/08/02 Javascript
详解vue-router传参的两种方式
2018/09/10 Javascript
浅谈Vuex注入Vue生命周期的过程
2019/05/20 Javascript
Python对列表中的各项进行关联详解
2017/08/15 Python
详谈python3中用for循环删除列表中元素的坑
2018/04/19 Python
django 自定义过滤器的实现
2019/02/26 Python
在python里面运用多继承方法详解
2019/07/01 Python
利用python实现汉字转拼音的2种方法
2019/08/12 Python
Tensorflow 使用pb文件保存(恢复)模型计算图和参数实例详解
2020/02/11 Python
Tensorflow 1.0之后模型文件、权重数值的读取方式
2020/02/12 Python
Python操作Excel把数据分给sheet
2020/05/20 Python
利用PyQt5+Matplotlib 绘制静态/动态图的实现代码
2020/07/13 Python
新西兰最大的品牌运动鞋购物网站:Platypus NZ
2017/10/27 全球购物
Myprotein丹麦官网:欧洲第一运动营养品牌
2019/04/15 全球购物
Vivo俄罗斯官方在线商店:中国智能手机品牌
2019/10/04 全球购物
希腊品牌鞋类销售网站:epapoutsia.gr
2020/03/18 全球购物
高级护理实习生自荐信
2013/09/28 职场文书
高校优秀辅导员事迹材料
2014/05/07 职场文书
外联部演讲稿
2014/05/24 职场文书
企业领导班子四风对照检查材料
2014/09/27 职场文书
教师三严三实学习心得体会
2014/10/11 职场文书
公安机关起诉意见书
2015/05/20 职场文书
不同意离婚答辩状
2015/05/22 职场文书
Python安装使用Scrapy框架
2022/04/12 Python