前端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弹幕效果
May 06 jQuery
jQuery遮罩层实例讲解
May 11 jQuery
jQuery validata插件实现方法
Jun 25 jQuery
全面解析jQuery中的$(window)与$(document)的用法区别
Aug 15 jQuery
jQuery完成表单验证的实例代码(纯代码)
Sep 30 jQuery
jqueryUI tab标签页代码分享
Oct 09 jQuery
jquery手机触屏滑动拼音字母城市选择器的实例代码
Dec 11 jQuery
jQuery实现的滑块滑动导航效果示例
Jun 04 jQuery
jQuery轻量级表单模型验证插件
Oct 15 jQuery
jQuery事件绑定和解绑、事件冒泡与阻止事件冒泡及弹出应用示例
May 13 jQuery
jquery实现选项卡切换代码实例
May 14 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
使用PHP静态变量当缓存的方法
2013/11/13 PHP
PHP const定义常量及global定义全局常量实例解析
2020/05/28 PHP
jquery获得下拉框值的代码
2011/08/13 Javascript
JavaScript之IE的fireEvent方法详细解析
2013/11/20 Javascript
Windows系统中安装nodejs图文教程
2015/02/28 NodeJs
EasyUI实现二级页面的内容勾选的方法
2015/03/01 Javascript
JavaScript数组前面插入元素的方法
2015/04/06 Javascript
Javascript编程中几种继承方式比较分析
2015/11/28 Javascript
不得不分享的JavaScript常用方法函数集(上)
2015/12/23 Javascript
jquery ajax双击div可直接修改div中的内容
2016/03/04 Javascript
一个极为简单的requirejs实现方法
2016/10/20 Javascript
jquery easyui如何实现格式化列
2017/07/30 jQuery
jQuery滑动效果实现方法分析
2018/09/05 jQuery
微信小程序实现动态获取元素宽高的方法分析
2018/12/10 Javascript
超详细动手搭建一个VuePress 站点及开启PWA与自动部署的方法
2019/01/27 Javascript
js JSON.stringify()基础详解
2019/06/19 Javascript
JavaScript 闭包的使用场景
2020/09/17 Javascript
vue3.0中友好使用antdv示例详解
2021/01/05 Vue.js
[08:42]DOTA2每周TOP10 精彩击杀集锦vol.2
2014/06/25 DOTA
Python 数据结构之队列的实现
2017/01/22 Python
Python处理XML格式数据的方法详解
2017/03/21 Python
python微信跳一跳系列之棋子定位像素遍历
2018/02/26 Python
Flask框架各种常见装饰器示例
2018/07/17 Python
python正向最大匹配分词和逆向最大匹配分词的实例
2018/11/14 Python
在python中以相同顺序shuffle两个list的方法
2018/12/13 Python
python:解析requests返回的response(json格式)说明
2020/04/30 Python
使用OpenCV校准鱼眼镜头的方法
2020/11/26 Python
使用CSS禁止textarea调整大小功能的方法
2015/03/13 HTML / CSS
Pure Collection美国官网:来自英国羊绒专家的奢华羊绒
2017/11/19 全球购物
经销商会议欢迎词
2014/01/11 职场文书
给领导的致歉信范文
2014/01/13 职场文书
英语生日邀请函
2014/01/23 职场文书
公司成本主管岗位责任制
2014/02/21 职场文书
风险评估实施方案
2014/03/09 职场文书
防汛工作情况汇报
2014/10/28 职场文书
Django migrate报错的解决方案
2021/05/20 Python