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 相关文章推荐
Javascript 类型转换方法
Oct 24 Javascript
brook javascript框架介绍
Oct 10 Javascript
jquery easyui combobox模糊过滤(示例代码)
Nov 30 Javascript
javascript限制用户只能输汉字中文的方法
Nov 20 Javascript
javascript属性访问表达式用法分析
Apr 25 Javascript
jQuery验证插件validate使用详解
May 11 Javascript
React-router中结合webpack实现按需加载实例
May 25 Javascript
vue轮播图插件vue-awesome-swiper
Nov 27 Javascript
vue2.0 父组件给子组件传递数据的方法
Jan 15 Javascript
JavaScript实现区块链
Mar 14 Javascript
ES6模板字符串和标签模板的应用实例分析
Jun 25 Javascript
微信小程序如何实现在线客服功能
Oct 16 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实现网页端验证码功能
2017/07/11 PHP
laravel 数据迁移与 Eloquent ORM的实现方法
2019/04/12 PHP
js定义对象或数组直接量时各浏览器对多余逗号的处理(json)
2011/03/05 Javascript
js setTimeout 参数传递使用介绍
2013/08/13 Javascript
javascript屏蔽右键代码
2014/05/15 Javascript
jQuery中detach()方法用法实例
2014/12/25 Javascript
JavaScript实现LI列表数据绑定的方法
2015/08/04 Javascript
jQuery实现下拉加载功能实例代码
2016/04/01 Javascript
mvvm双向绑定机制的原理和实现代码(推荐)
2016/06/07 Javascript
详解jQuery中ajax.load()方法
2017/01/25 Javascript
JavaScript实现获取远程的html到当前页面中
2017/03/26 Javascript
Angular2.0/4.0 使用Echarts图表的示例代码
2017/12/07 Javascript
使用pkg打包Node.js应用的方法步骤
2018/10/19 Javascript
通过实例了解js函数中参数的传递
2019/06/15 Javascript
Vue代码整洁之去重方法整理
2019/08/06 Javascript
[00:05]ChinaJoy现场 DOTA2玩家高呼“CN DOTA BEST DOTA”
2019/08/04 DOTA
Python contextlib模块使用示例
2015/02/18 Python
python中的装饰器详解
2015/04/13 Python
Python创建一个空的dataframe,并循环赋值的方法
2018/11/08 Python
Ubuntu下Anaconda和Pycharm配置方法详解
2019/06/14 Python
Python OpenCV中的resize()函数的使用
2019/06/20 Python
微信小程序python用户认证的实现
2019/07/29 Python
django实现支付宝支付实例讲解
2019/10/17 Python
TensorFlow Autodiff自动微分详解
2020/07/06 Python
C++和python实现阿姆斯特朗数字查找实例代码
2020/12/07 Python
Boston Proper官网:美国女装品牌
2017/10/30 全球购物
美国50岁以上单身人士约会平台:SilverSingles
2018/06/29 全球购物
高中微机老师自我鉴定
2014/02/16 职场文书
捐助感谢信
2015/01/22 职场文书
会议欢迎词
2015/01/23 职场文书
植树节新闻稿
2015/07/17 职场文书
大学学生会主席竞选稿
2015/11/19 职场文书
《天使的翅膀》读后感3篇
2019/12/20 职场文书
Vue中foreach数组与js中遍历数组的写法说明
2021/06/05 Vue.js
Python 中的 copy()和deepcopy()
2021/11/07 Python
JS开发前端团队展示控制器来为成员引流
2022/08/14 Javascript