jQuery实现模糊查询的方法分析


Posted in jQuery onMay 10, 2018

本文实例讲述了jQuery实现模糊查询的方法。分享给大家供大家参考,具体如下:

需求:list列表内容很多,用户需要找出列表内容中的某些条目,只有当与用户输入值匹配的条目才显示出来。(后台无分页,直接异步接口返回数据添加形成的内容列表)

虽然可以通过传参再调用查询出来,但这里主要记录的是前端处理进行模糊查询而无需再次调用接口的实现方法。

html部分:

<div class="search-form">
    <input type="text" placeholder="请输入关键词">
    <span class="icon-clear"></span>
</div>
<div class="content">
  <div class="title row no-gutter">
    <div class="col-20">列表一</div>
    <div class="col-20">列表二</div>
    <div class="col-20">列表三</div>
    <div class="col-20">列表四</div>
    <div class="col-20">列表五</div>
  </div>
  <div class="list-content">
    <ul>
      <li>
        <div class="code">00001</div>
        <div class="name">内容1</div>
        <div>内容2</div>
        <div>内容3</div>
        <div>内容4</div>
      </li>
      <li>……</li>
    </ul>
  </div>
</div>

js部分:

queryList: function(){
  $(".search-input").on("input propertychange", function() {
    var queryStr = $.trim($(".search-input").val());
    if(queryStr === ''){
      $(".list-content li").show();
    }else{
    // 以下是匹配某些列的内容,如果是匹配全部列的话就把find()和.parent()去掉即可
      $(".list-content li").hide().find(".code, .name").filter(":contains('"+queryStr+"')").parent("li").show();
      //$(".list-content").refresh(); //重新刷新列表把隐藏的dom结构去掉。
    }
  });
}

分析:以上即实现了前端js的模糊查询功能啦,哈哈。代码中监听事件中多加了input,据说是为兼容iOS的,具体没测试,有哪位大神测试了可以告知一声哈,谢谢了。

还有个问题就是,以上实现方法,当列表内容多大几千条数目或者更多时,表单输入时会出现卡顿的情况,因为要通过js操作大量的DOM结构啊(隐藏或显示),PC上或许情况还没有那么严重,在手机上测试时那真的是“怎一个卡字了得”,如果哪位大神有更好的法子,还望加以完善!

希望本文所述对大家jQuery程序设计有所帮助。

jQuery 相关文章推荐
jQuery EasyUI之验证框validatebox实例详解
Apr 10 jQuery
JQuery Ajax 异步操作之动态添加节点功能
May 24 jQuery
jQuery用户头像裁剪插件cropbox.js使用详解
Jun 07 jQuery
jQuery开源组件BootstrapValidator使用详解
Jun 29 jQuery
jQuery实现QQ空间汉字转拼音功能示例
Jul 10 jQuery
jQuery实现的鼠标响应缓冲动画效果示例
Feb 13 jQuery
JQuery中queue方法用法示例
Jan 31 jQuery
jquery.tagsinput.js实现记录checkbox勾选的顺序
Sep 21 jQuery
jquery使用echarts实现有向图可视化功能示例
Nov 25 jQuery
js与jquery获取input输入框中的值实例讲解
Feb 27 jQuery
JavaScript或jQuery 获取option value值方法解析
May 12 jQuery
jQuery实现朋友圈查看图片
Sep 11 jQuery
jQuery简单实现的HTML页面文本框模糊匹配查询功能完整示例
May 09 #jQuery
Vue引入jquery实现平滑滚动到指定位置
May 09 #jQuery
JS文件中加载jquery.js的实例代码
May 05 #jQuery
详解使用jQuery.i18n.properties实现js国际化
May 04 #jQuery
基于jQuery.i18n实现web前端的国际化
May 04 #jQuery
[原创]jquery判断元素内容是否为空的方法
May 04 #jQuery
jQuery实现每隔一段时间自动更换样式的方法分析
May 03 #jQuery
You might like
如何将一个表单同时提交到两个地方处理
2006/10/09 PHP
main.php
2006/12/09 PHP
php禁止浏览器使用缓存页面的方法
2014/11/07 PHP
完美解决thinkphp验证码出错无法显示的方法
2014/12/09 PHP
PHP汉字转换拼音的函数代码
2015/12/30 PHP
PHP实现通过URL提取根域名
2016/03/31 PHP
PHP7+Nginx的配置与安装教程详解
2016/05/10 PHP
js 页面输出值
2008/11/30 Javascript
js如何判断用户是在PC端和还是移动端访问
2014/04/24 Javascript
JavaScript中的继承方式详解
2015/02/11 Javascript
原生js实现弹出层效果
2017/01/20 Javascript
jQuery EasyUI Accordion可伸缩面板组件使用详解
2017/02/28 Javascript
bootstrap paginator分页前后台用法示例
2017/06/17 Javascript
Express + Node.js实现登录拦截器的实例代码
2017/07/01 Javascript
JavaScript贪吃蛇小组件实例代码
2017/08/20 Javascript
微信小程序如何刷新当前界面的实现方法
2019/06/07 Javascript
Bootstrap实现模态框效果
2019/09/30 Javascript
React中获取数据的3种方法及优缺点
2020/02/18 Javascript
利用Anaconda完美解决Python 2与python 3的共存问题
2017/05/25 Python
Python实现的插入排序,冒泡排序,快速排序,选择排序算法示例
2019/05/04 Python
python操作kafka实践的示例代码
2019/06/19 Python
python 动态调用函数实例解析
2019/10/21 Python
关于html字符串正则判断和匹配的具体使用
2019/12/12 HTML / CSS
Spartoo芬兰:欧洲最大的网上鞋店
2016/08/28 全球购物
为世界各地的女性设计和生产时尚服装:ROMWE
2016/09/17 全球购物
携程旅行网:中国领先的在线旅行服务公司
2017/02/17 全球购物
全球领先的全景影像品牌:Insta360
2019/08/21 全球购物
业务助理岗位职责
2013/11/18 职场文书
写好自荐信需做到的5要点
2014/03/07 职场文书
机电职业生涯规划书范文
2014/03/08 职场文书
《画风》教学反思
2014/04/16 职场文书
三好学生演讲稿范文
2014/04/26 职场文书
招股说明书范本
2014/05/06 职场文书
学校食堂食品安全责任书
2014/07/28 职场文书
部队2014年终工作总结
2014/11/27 职场文书
golang goroutine顺序输出方式
2021/04/29 Golang