前端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实现 RadioButton做必选校验功能
Jun 15 jQuery
快速掌握jquery分页插件jqPaginator的使用方法
Aug 09 jQuery
jquery动态赋值id与动态取id方法示例
Aug 21 jQuery
jQuery Ajax向服务端传递数组参数值的实例代码
Sep 03 jQuery
jQuery.Sumoselect插件实现下拉复选框效果
Nov 09 jQuery
使用jquery模拟a标签的click事件无法实现跳转的解决
Dec 04 jQuery
jQuery实现的3D版图片轮播示例【滑动轮播】
Jan 18 jQuery
详解jquery和vue对比
Apr 16 jQuery
jQuery+ajax实现批量删除功能完整示例
Jun 06 jQuery
JS/jQuery实现超简单的Table表格添加,删除行功能示例
Jul 31 jQuery
Jquery如何使用animation动画效果改变背景色的代码
Jul 20 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
一个好用的分页函数
2006/11/16 PHP
PHP中使用Imagick操作PSD文件实例
2015/01/26 PHP
PHP PDOStatement::bindValue讲解
2019/01/30 PHP
JavaScript中数组的排序、乱序和搜索实现代码
2011/11/30 Javascript
解析URI与URL之间的区别与联系
2013/11/22 Javascript
js获取指定日期周数以及星期几的小例子
2014/06/27 Javascript
JS 打印功能代码可实现打印预览、打印设置等
2014/10/31 Javascript
JavaScript动态改变div属性的实现方法
2015/07/22 Javascript
jquery css实现邮箱自动补全
2016/11/14 Javascript
jquery与ajax获取特殊字符实例详解
2017/01/08 Javascript
基于jQuery实现的打字机效果
2017/01/16 Javascript
js技巧之十几行的代码实现vue.watch代码
2018/06/09 Javascript
vue-cli系列之vue-cli-service整体架构浅析
2019/01/14 Javascript
JS中的算法与数据结构之链表(Linked-list)实例详解
2019/08/20 Javascript
国内常用的js类库大全(CDN公共库)
2020/06/24 Javascript
Vue 防止短时间内连续点击后多次触发请求的操作
2020/11/11 Javascript
Python通过递归遍历出集合中所有元素的方法
2015/02/25 Python
Python实现的简单算术游戏实例
2015/05/26 Python
搞笑的程序猿:看看你是哪种Python程序员
2015/06/12 Python
Python字符串转换成浮点数函数分享
2015/07/24 Python
python实现下载指定网址所有图片的方法
2015/08/08 Python
Python采用Django制作简易的知乎日报API
2016/08/03 Python
tensorflow 获取变量&amp;打印权值的实例讲解
2018/06/14 Python
python使用插值法画出平滑曲线
2018/12/15 Python
Python的条件表达式和lambda表达式实例
2019/01/31 Python
Python中函数的返回值示例浅析
2019/08/28 Python
Django封装交互接口代码
2020/07/12 Python
python urllib和urllib3知识点总结
2021/02/08 Python
缅甸网上购物:Shop.com.mm
2017/12/05 全球购物
KIKO MILANO俄罗斯官网:意大利领先的化妆品和护肤品品牌
2021/01/09 全球购物
个人求职信范例
2014/01/29 职场文书
《燕子》教学反思
2014/02/18 职场文书
锦旗标语大全
2014/06/23 职场文书
向国旗敬礼活动总结范文2014
2014/09/27 职场文书
鸿蒙3.0体验感怎么样? 鸿蒙3.0系统评测向
2022/08/14 数码科技
Vue router配置与使用分析讲解
2022/12/24 Vue.js