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表单验证之密码确认
May 22 jQuery
jquery.validate表单验证插件使用详解
Jun 21 jQuery
jQuery validata插件实现方法
Jun 25 jQuery
jQuery选择器之属性筛选选择器用法详解
Sep 19 jQuery
JQuery用$.ajax或$.getJSON跨域获取JSON数据的实现代码
Sep 23 jQuery
jquery使用iscorll实现上拉、下拉加载刷新
Oct 26 jQuery
在Vue项目中引入JQuery-ui插件的讲解
Jan 27 jQuery
一文快速了解JQuery中的AJAX
May 31 jQuery
jQuery实现input[type=file]多图预览上传删除等功能
Aug 02 jQuery
jQuery 查找元素操作实例小结
Oct 02 jQuery
JQuery省市联动效果实现过程详解
May 08 jQuery
jQuery实现全选按钮
Jan 01 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
php自动注册登录验证机制实现代码
2011/12/20 PHP
zend framework文件上传功能实例代码
2013/12/25 PHP
客户端静态页面玩分页
2006/06/26 Javascript
JavaScript高级程序设计(第3版)学习笔记7 js函数(上)
2012/10/11 Javascript
JavaScript使用指针操作实现约瑟夫问题实例
2015/04/07 Javascript
javascript中动态函数用法实例分析
2015/05/14 Javascript
JavaScript中ES6 Babel正确安装过程
2016/07/18 Javascript
移动端js触摸事件详解
2016/09/18 Javascript
js for循环倒序输出数组元素的实例
2017/03/01 Javascript
Angular-Ui-Router+ocLazyLoad动态加载脚本示例
2017/03/02 Javascript
详解NODEJS的http实现
2018/01/04 NodeJs
vue-i18n结合Element-ui的配置方法
2019/05/20 Javascript
vue项目初始化到登录login页面的示例
2019/10/31 Javascript
基于canvasJS在PHP中制作动态图表
2020/05/30 Javascript
小程序选项卡以及swiper套用(跨页面)
2020/06/19 Javascript
Vue Object.defineProperty及ProxyVue实现双向数据绑定
2020/09/02 Javascript
js+canvas实现刮刮奖功能
2020/09/13 Javascript
Python实现将json文件中向量写入Excel的方法
2018/03/26 Python
python 常用的基础函数
2018/07/10 Python
解决python xlrd无法读取excel文件的问题
2018/12/25 Python
python实现画五角星和螺旋线的示例
2019/01/20 Python
PyTorch和Keras计算模型参数的例子
2020/01/02 Python
tensorflow 实现数据类型转换
2020/02/17 Python
Pandas DataFrame求差集的示例代码
2020/12/13 Python
CSS3实现缺角矩形,折角矩形以及缺角边框
2019/12/20 HTML / CSS
Kipling澳洲官网:购买凯浦林包包
2020/12/17 全球购物
在什么时候需要使用"常引用"
2015/12/31 面试题
介绍下java.util.Arrays类
2012/10/16 面试题
会计电算一体化个人简历的自我评价
2013/10/15 职场文书
毕业证丢失证明
2014/01/15 职场文书
会计学自我鉴定
2014/02/06 职场文书
优质服务口号
2014/06/11 职场文书
党员教师学习党的群众路线教育实践活动心得体会
2014/10/31 职场文书
2015建军节87周年演讲稿
2015/03/19 职场文书
古诗文之爱国名句(77句)
2019/09/24 职场文书
Golang中channel的原理解读(推荐)
2021/10/16 Golang