jQuery实现模糊查询的方法分析
程序员文章站
2022-05-05 11:48:44
本文实例讲述了jquery实现模糊查询的方法。分享给大家供大家参考,具体如下:
需求:list列表内容很多,用户需要找出列表内容中的某些条目,只有当与用户输入值匹配的条目...
本文实例讲述了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表格(table)操作技巧汇总》、《jquery切换特效与技巧总结》、《jquery扩展技巧总结》、《jquery常用插件及用法总结》、《jquery拖拽特效与技巧总结》、《jquery中ajax用法总结》、《jquery常见经典特效汇总》、《jquery动画与特效用法总结》及《jquery选择器用法总结》
希望本文所述对大家jquery程序设计有所帮助。
上一篇: JS中的JSON对象的定义和取值实现代码
下一篇: 想买自行车的怎么买了劳斯莱斯 瀑布汗
推荐阅读
-
jQuery添加新内容的四个常用方法分析【append,prepend,after,before】
-
JS/jquery实现一个网页内同时调用多个倒计时的方法
-
jQuery EasyUI tree增加搜索功能的实现方法
-
jQuery实现动态添加、删除按钮及input输入框的方法
-
jsonp实现百度下拉框功能的方法分析
-
jQuery实现为动态添加的元素绑定事件实例分析
-
jQuery使用eraser.js插件实现擦除、刮刮卡效果的方法【附eraser.js下载】
-
Android中ListView下拉刷新的实现方法实例分析
-
jQuery ajax的功能实现方法详解
-
jQuery中each遍历的三种方法实例分析