jquery.fastLiveFilter.js实现输入自动过滤的方法


Posted in Javascript onAugust 11, 2015

本文实例讲述了jquery.fastLiveFilter.js实现输入自动过滤的方法。分享给大家供大家参考。具体如下:

本效果是使用jquery.fastLiveFilter.js插件来实现的,类似于搜索框的输入提示功能,实现对匹配项目的自动过滤功能,当你输入的时候,会根据输入的字符智能匹配符合的内容,自动列出来,提高人性化操作体验,如果您对jquery.fastLiveFilter.js插件的用法感兴趣,这是个很不错的例子。

运行效果截图如下:

jquery.fastLiveFilter.js实现输入自动过滤的方法

具体代码如下:

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>jQuery过滤器插件fastLiveFilter</title>
<script src="jquery-1.6.2.min.js"></script>
<script>
//jquery.fastLiveFilter.js
jQuery.fn.fastLiveFilter = function(list, options) {
 options = options || {};
 list = jQuery(list);
 var input = this;
 var lastFilter = '';
 var timeout = options.timeout || 0;
 var callback = options.callback || function() {};
 var keyTimeout;
 var lis = list.children();
 var len = lis.length;
 var oldDisplay = len > 0 ? lis[0].style.display : "block";
 callback(len);
 input.change(function() {
  var filter = input.val().toLowerCase();
  var li, innerText;
  var numShown = 0;
  for (var i = 0; i < len; i++) {
   li = lis[i];
   innerText = !options.selector ? 
    (li.textContent || li.innerText || "") : 
    $(li).find(options.selector).text();
   if (innerText.toLowerCase().indexOf(filter) >= 0) {
    if (li.style.display == "none") {
     li.style.display = oldDisplay;
    }
    numShown++;
   } else {
    if (li.style.display != "none") {
     li.style.display = "none";
    }
   }
  }
  callback(numShown);
  return false;
 }).keydown(function() {
  clearTimeout(keyTimeout);
  keyTimeout = setTimeout(function() {
   if( input.val() === lastFilter ) return;
   lastFilter = input.val();
   input.change();
  }, timeout);
 });
 return this;
}
</script>
<script>
 $(function() {
 $('#search_input').fastLiveFilter('#search_list');
 });
</script>
<style type="text/css">
body { margin: 0px; background-color: #F6F6F6; }
.jq22{ width: 600px; height: 500px; margin-left: auto; margin-right: auto; background-color: #FFFFFF; padding: 10px; }
</style>
</head>
<body>
<div class="jq22">
<input id="search_input" placeholder="输入文字开始筛选">
<ul id="search_list">
 <li>One</li>
 <li>Two</li>
 <li>Three</li>
 <li>One</li>
 <li>awo</li>
 <li>bhree</li>
 <li>cne</li>
 <li>dwo</li>
 <li>ehree</li>
 <li>fne</li>
 <li>gwo</li>
 <li>hhree</li>
 <li>ihree</li>
</ul>
</div>
</body>
</html>

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

Javascript 相关文章推荐
js 代码集(学习js的朋友可以看下)
Jul 22 Javascript
基于jquery的当鼠标滚轮到最底端继续加载新数据思路分享(多用于微博、空间、论坛 )
Oct 10 Javascript
jQuery 数据缓存模块进化史详细介绍
Nov 19 Javascript
js 调用百度地图api并在地图上进行打点添加标注
May 13 Javascript
js实现iGoogleDivDrag模块拖动层拖动特效的方法
Mar 04 Javascript
JS实现模拟百度搜索“2012世界末日”网页地震撕裂效果代码
Oct 31 Javascript
javascript实现的上下无缝滚动效果
Sep 19 Javascript
Angular 中 select指令用法详解
Sep 29 Javascript
jquery.Callbacks的实现详解
Nov 30 Javascript
修改 bootstrap table 默认detailRow样式的实例代码
Jul 21 Javascript
在vue-cli中组件通信的方法
Dec 16 Javascript
VUE脚手架的下载和配置步骤详解
Apr 01 Javascript
javascript实现五星评价代码(源码下载)
Aug 11 #Javascript
jQuery的remove()方法使用详解
Aug 11 #Javascript
jquery实现点击展开列表同时隐藏其他列表
Aug 10 #Javascript
jquery实现Li滚动时滚动条自动添加样式的方法
Aug 10 #Javascript
jQuery右下角旋转环状菜单特效代码
Aug 10 #Javascript
jquery实现滑动特效代码
Aug 10 #Javascript
jquery插件jquery.nicescroll实现图片无滚动条左右拖拽的方法
Aug 10 #Javascript
You might like
php中判断文件存在是用file_exists还是is_file的整理
2012/09/12 PHP
php导入模块文件分享
2015/03/17 PHP
php判断访问IP的方法
2015/06/19 PHP
php实现水印文字和缩略图的方法示例
2016/12/29 PHP
解决AJAX中跨域访问出现'没有权限'的错误
2008/08/20 Javascript
jquery validate.js表单验证的基本用法入门
2010/05/13 Javascript
js获取键盘按键响应事件(兼容各浏览器)
2013/05/16 Javascript
JS中字符串trim()使用示例
2015/05/26 Javascript
js小数运算出现多位小数如何解决
2015/10/08 Javascript
Bootstrap基本组件学习笔记之input输入框组(9)
2016/12/07 Javascript
Vue.js实现实例搜索应用功能详细代码
2017/08/24 Javascript
prototype.js简单实现ajax功能示例
2017/10/18 Javascript
TypeScript开发Node.js程序的方法
2019/04/30 Javascript
angular使用md5,CryptoJS des加密的方法
2019/06/03 Javascript
vue+element tabs选项卡分页效果
2020/06/29 Javascript
p5.js绘制创意自画像
2019/11/04 Javascript
js prototype深入理解及应用实例分析
2019/11/25 Javascript
Node.js API详解之 net模块实例分析
2020/05/18 Javascript
微信小程序学习总结(三)条件、模板、文件引用实例分析
2020/06/04 Javascript
vue 解决mintui弹窗弹起来,底部页面滚动bug问题
2020/11/12 Javascript
解决vue使用vant轮播组件swipe + flex时文字抖动问题
2021/01/07 Vue.js
简单介绍Python中的try和finally和with方法
2015/05/05 Python
python基础知识小结之集合
2015/11/25 Python
python实现用户管理系统
2018/01/10 Python
python中的闭包函数
2018/02/09 Python
wxPython实现整点报时
2019/11/18 Python
tensorflow 环境变量设置方式
2020/02/06 Python
浅谈keras 模型用于预测时的注意事项
2020/06/27 Python
销售助理岗位职责
2014/02/21 职场文书
店面销售职位的职责
2014/03/09 职场文书
杭州西湖英语导游词
2015/02/03 职场文书
年度考核登记表个人总结
2015/03/06 职场文书
实习证明格式范文
2015/06/16 职场文书
表扬信范文
2019/04/22 职场文书
5行Python代码实现一键批量扣图
2021/06/29 Python
python DataFrame中stack()方法、unstack()方法和pivot()方法浅析
2022/04/06 Python