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获取当前页面上的指定对象示例代码
Feb 28 Javascript
JavaScript制作的可折叠弹出式菜单示例
Apr 04 Javascript
JQuery跳出each循环的方法
Apr 16 Javascript
jQuery插件imgPreviewQs实现上传图片预览
Jan 15 Javascript
jQuery ajax应用总结
Jun 02 Javascript
jquery输入数字随机抽奖特效的简单实现代码
Jun 10 Javascript
js设置和获取自定义属性的方法
Oct 20 Javascript
js实现手机拍照上传功能
Jan 17 Javascript
js实现带进度条提示的多视频上传功能
Dec 13 Javascript
微信小程序input框中加入小图标的实现方法
Jun 19 Javascript
jquery获取img的src值实例介绍
Jan 16 jQuery
Vue中全局变量的定义和使用
Jun 05 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
Memcache 在PHP中的使用技巧
2010/02/08 PHP
php中session_unset与session_destroy的区别分析
2011/06/16 PHP
使用PHP实现蜘蛛访问日志统计
2013/07/05 PHP
ThinkPHP中使用Ueditor富文本编辑器
2015/09/02 PHP
PHP和Mysql中转UTF8编码问题汇总
2015/10/10 PHP
Yii2框架实现数据库常用操作总结
2017/02/08 PHP
php 实现简单的登录功能示例【基于thinkPHP框架】
2019/12/02 PHP
用javascript实现读取txt文档的脚本
2007/07/20 Javascript
JavaScript DOM学习第一章 W3C DOM简介
2010/02/19 Javascript
jquery 查找新建元素代码
2010/07/06 Javascript
jquery中实现简单的tabs插件功能的代码
2011/03/02 Javascript
推荐11款jQuery开发的复选框和单选框美化插件
2011/08/02 Javascript
纯JS实现的批量图片预览加载功能
2011/08/14 Javascript
jquery post方式传递多个参数值后台以数组的方式进行接收
2013/01/11 Javascript
javascript获得当前的信息的一些常用命令
2015/02/25 Javascript
理解js对象继承的N种模式
2016/01/25 Javascript
JS生成不重复的随机数组的简单实例
2016/07/10 Javascript
Javascript之面向对象--接口
2016/12/02 Javascript
给vue项目添加ESLint的详细步骤
2017/09/29 Javascript
JS中的算法与数据结构之列表(List)实例详解
2019/08/16 Javascript
python实用代码片段收集贴
2015/06/03 Python
pytorch + visdom 处理简单分类问题的示例
2018/06/04 Python
python eventlet绿化和patch原理
2020/11/21 Python
纯css3显示隐藏一个div特效的具体实现
2014/02/10 HTML / CSS
详解CSS3媒体查询响应式布局bootstrap 框架原理实战(推荐)
2020/11/16 HTML / CSS
YSL圣罗兰美妆美国官网:Yves Saint Lauret US
2016/11/21 全球购物
如何将整数int转换成字串String
2014/03/21 面试题
社区健康教育实施方案
2014/03/18 职场文书
美丽家庭事迹材料
2014/05/03 职场文书
白酒代理协议书范本
2014/10/26 职场文书
2014年语文教学工作总结
2014/12/17 职场文书
酒店财务经理岗位职责
2015/04/08 职场文书
高一地理教学工作总结
2015/08/12 职场文书
广告策划的实习心得体会总结!
2019/07/22 职场文书
tensorflow中的数据类型dtype用法说明
2021/05/26 Python
MySQL时区造成时差问题
2022/04/13 MySQL