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 相关文章推荐
父窗口获取弹出子窗口文本框的值
Jun 27 Javascript
用javascript实现页面打印的三种方法
Mar 05 Javascript
ASP.NET jQuery 实例18 通过使用jQuery validation插件校验DropDownList
Feb 03 Javascript
Jquery实现网页跳转或用命令打开指定网页的解决方法
Jul 09 Javascript
js实现简单的星级选择器提交效果适用于评论等
Oct 18 Javascript
JavaScript代码实现禁止右键、禁选择、禁粘贴、禁shift、禁ctrl、禁alt
Nov 17 Javascript
Angular.JS通过指令操作DOM的方法
May 10 Javascript
Redux 和 Mobx的选择问题:让你不再困惑!
Sep 18 Javascript
Vue实现本地购物车功能
Dec 05 Javascript
JS异步执行结果获取的3种解决方式
Feb 19 Javascript
微信小程序云开发(数据库)详解
May 17 Javascript
JavaScript中变量提升机制示例详解
Dec 27 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 远程关机实现代码
2009/11/10 PHP
php4与php5的区别小结(配置异同)
2011/12/20 PHP
php判断当前用户已在别处登录的方法
2015/01/06 PHP
PHP实现页面静态化的超简单方法
2016/09/06 PHP
PHP中的日期时间处理利器实例(Carbon)
2017/06/09 PHP
浅析PHP中的闭包和匿名函数
2017/12/25 PHP
PHP通过bypass disable functions执行系统命令的方法汇总
2018/05/02 PHP
js 跳出页面的frameset框架示例介绍
2013/12/23 Javascript
jquery选择器排除某个DOM元素的方法(实例演示)
2014/04/25 Javascript
javascript正则表达式基础知识入门
2015/04/20 Javascript
javascript动态设置样式style实例分析
2015/05/13 Javascript
简介AngularJS的视图功能应用
2015/06/17 Javascript
js计算文本框输入的字符数
2015/10/23 Javascript
javascript合并表格单元格实例代码
2016/01/03 Javascript
JavaScript实现的select点菜功能示例
2017/01/16 Javascript
jQuery实现最简单实用的分秒倒计时
2017/02/05 Javascript
用jQuery旋转插件jqueryrotate制作转盘抽奖
2017/02/10 Javascript
JS操作xml对象转换为Json对象示例
2017/03/25 Javascript
在 Linux/Unix 中不重启 Vim 而重新加载 .vimrc 文件的流程
2018/03/21 Javascript
layui获取多选框中的值方法
2018/08/15 Javascript
vue 2.5.1 源码学习 之Vue.extend 和 data的合并策略
2019/06/04 Javascript
详解Python发送email的三种方式
2018/10/18 Python
Python进阶之@property动态属性的实现
2019/04/01 Python
使用python将mysql数据库的数据转换为json数据的方法
2019/07/01 Python
numpy数组做图片拼接的实现(concatenate、vstack、hstack)
2019/11/08 Python
Python 实现判断图片格式并转换,将转换的图像存到生成的文件夹中
2020/01/13 Python
python求一个字符串的所有排列的实现方法
2020/02/04 Python
python入门之基础语法学习笔记
2020/02/08 Python
解决c++调用python中文乱码问题
2020/07/29 Python
美国孕妇装购物网站:Motherhood Maternity
2019/09/22 全球购物
俞敏洪励志演讲稿
2014/04/29 职场文书
酒会开场白大全
2015/06/01 职场文书
四年级数学教学反思
2016/02/16 职场文书
写作技巧:优秀文案必备的3种结构
2019/08/19 职场文书
创业计划书之珠宝饰品
2019/08/26 职场文书
用Python制作灯光秀短视频的思路详解
2021/04/13 Python