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 相关文章推荐
利用JQuery为搜索栏增加tag提示
Jun 22 Javascript
Javascript将string类型转换int类型
Dec 09 Javascript
javascript实现tabs选项卡切换效果(扩展版)
Mar 19 Javascript
jquery验证表单中的单选与多选实例
Aug 18 Javascript
javascript判断chrome浏览器的方法
Mar 26 Javascript
jquery中filter方法用法实例分析
Feb 06 Javascript
javascript模拟命名空间
Apr 17 Javascript
通用javascript代码判断版本号是否在版本范围之间
Nov 29 Javascript
详解Javascript中prototype属性(推荐)
Sep 03 Javascript
微信小程序--组件(swiper)详细介绍
Jun 13 Javascript
node app 打包工具pkg的具体使用
Jan 17 Javascript
深入webpack打包原理及loader和plugin的实现
May 06 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
js下函数般调用正则的方法附代码
2008/06/22 PHP
两个开源的Php输出Excel文件类
2010/02/08 PHP
PHP中捕获超时事件的方法实例
2015/02/12 PHP
php简单实现无限分类树形列表的方法
2015/03/27 PHP
Zend Framework教程之MVC框架的Controller用法分析
2016/03/07 PHP
javascript下高性能字符串连接StringBuffer类
2010/08/16 Javascript
JavaScript在XHTML中的用法详解
2013/04/11 Javascript
ExtJs默认的字体大小改变的几种方法(自己整理)
2013/04/18 Javascript
js如何取消事件冒泡
2013/09/23 Javascript
JS中把字符转成ASCII值的函数示例代码
2013/11/21 Javascript
Enter回车切换输入焦点实现思路与代码兼容各大浏览器
2014/09/01 Javascript
初始Nodejs
2014/11/08 NodeJs
javascript中JSON对象与JSON字符串相互转换实例
2015/07/11 Javascript
jquery mobile开发常见问题分析
2016/01/21 Javascript
JS实现星星评分功能实例代码(两种方法)
2016/06/09 Javascript
轻松掌握JavaScript代理模式
2016/08/26 Javascript
运用js教你轻松制作html音乐播放器
2020/04/17 Javascript
js上传图片预览的实现方法
2017/05/09 Javascript
npm国内镜像 安装失败的几种解决方案
2017/06/04 Javascript
详解微信小程序审核不通过的解决方法
2018/01/17 Javascript
基于vue-cli vue-router搭建底部导航栏移动前端项目
2018/02/28 Javascript
jquery实现下载图片功能
2019/07/18 jQuery
文章或博客自动生成章节目录索引(支持三级)的实现代码
2020/05/10 Javascript
前端使用crypto.js进行加密的函数代码
2020/08/16 Javascript
python使用any判断一个对象是否为空的方法
2014/11/19 Python
详解Python迭代和迭代器
2016/03/28 Python
无法使用pip命令安装python第三方库的原因及解决方法
2018/06/12 Python
通过python实现随机交换礼物程序详解
2019/07/10 Python
opencv3/Python 稠密光流calcOpticalFlowFarneback详解
2019/12/11 Python
解决pycharm中的run和debug失效无法点击运行
2020/06/09 Python
Python如何将装饰器定义为类
2020/07/30 Python
Viking Direct爱尔兰:办公用品和家具
2019/11/21 全球购物
有关花店创业的计划书模板
2019/08/27 职场文书
Python字典的基础操作
2021/11/01 Python
漫画「处刑少女的生存之道」第3卷封面公开
2022/03/21 日漫
mysql 乱码 字符集latin1转UTF8
2022/04/19 MySQL