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 getElementsByClassName函数
Apr 01 Javascript
return false,对阻止事件默认动作的一些测试代码
Nov 17 Javascript
将HTMLCollection/NodeList/伪数组转换成数组的实现方法
Jun 20 Javascript
解析Javascript中大括号“{}”的多义性
Dec 02 Javascript
javascript写的异步加载js文件函数(支持数组传参)
Jun 07 Javascript
node.js中的fs.lchmod方法使用说明
Dec 16 Javascript
学习JavaScript正则表达式
Nov 13 Javascript
Bootstrap每天必学之简单入门
Nov 19 Javascript
js中遍历Map对象的简单实例
Aug 08 Javascript
网页爬虫之cookie自动获取及过期自动更新的实现方法
Mar 06 Javascript
jQuery实现根据身份证号获取生日、年龄、性别等信息的方法
Jan 09 jQuery
微信小程序scroll-view隐藏滚动条的方法详解
Mar 25 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
我的论坛源代码(二)
2006/10/09 PHP
php 调用远程url的六种方法小结
2009/11/02 PHP
发款php蜘蛛统计插件只要有mysql就可用
2010/10/12 PHP
PHP里的中文变量说明
2011/07/23 PHP
PHP获取网址的顶级域名函数代码
2012/09/24 PHP
Smarty使用自定义资源的方法
2015/08/08 PHP
解决ThinkPHP下使用上传插件Uploadify浏览器firefox报302错误的方法
2015/12/18 PHP
一个不错的应用,用于提交获取文章内容,不推荐用
2007/03/03 Javascript
基于jQuery试卷自动排版系统
2010/07/18 Javascript
JQuery伸缩导航练习示例
2013/11/13 Javascript
容易造成JavaScript内存泄露几个方面
2014/09/04 Javascript
javascript中setTimeout和setInterval的unref()和ref()用法示例
2014/11/26 Javascript
JQuery.get提交页面不跳转的解决方法
2015/01/13 Javascript
深入理解JavaScript中的块级作用域、私有变量与模块模式
2016/10/31 Javascript
jQuery拖拽通过八个点改变div大小
2020/11/29 Javascript
vue2.0在table中实现全选和反选的示例代码
2017/11/04 Javascript
vue2.0项目集成Cesium的实现方法
2019/07/30 Javascript
Python转换HTML到Text纯文本的方法
2015/01/15 Python
Python_LDA实现方法详解
2017/10/25 Python
基于Python开发chrome插件的方法分析
2018/07/07 Python
Python使用sort和class实现的多级排序功能示例
2018/08/15 Python
Python3.5文件修改操作实例分析
2019/05/01 Python
Python基于OpenCV实现人脸检测并保存
2019/07/23 Python
Python for循环与getitem的关系详解
2020/01/02 Python
Python cookie的保存与读取、SSL讲解
2020/02/17 Python
python实现时间序列自相关图(acf)、偏自相关图(pacf)教程
2020/06/03 Python
使用phonegap操作数据库的实现方法
2017/03/31 HTML / CSS
牦牛毛户外探险服装:Kora
2019/02/08 全球购物
决定成败的关键——创业计划书
2014/01/24 职场文书
幼儿园六一儿童节文艺汇演主持词
2014/03/21 职场文书
活动总结报告范文
2014/05/04 职场文书
药剂专业毕业生求职信
2014/06/24 职场文书
万能检讨书
2015/01/27 职场文书
《圆的周长》教学反思
2016/02/17 职场文书
Python爬虫基础之爬虫的分类知识总结
2021/05/13 Python
python机器学习Github已达8.9Kstars模型解释器LIME
2021/11/23 Python