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 相关文章推荐
跨浏览器的设置innerHTML方法
Sep 18 Javascript
javaScript 简单验证代码(用户名,密码,邮箱)
Sep 28 Javascript
jQuery对象和DOM对象的相互转化实现代码
Mar 02 Javascript
jquery实现marquee效果(文字或者图片的水平垂直滚动)
Jan 07 Javascript
JS操作iframe里的dom(实例讲解)
Jan 29 Javascript
jquery中get和post的简单实例
Feb 04 Javascript
JQuery以JSON方式提交数据到服务端示例代码
May 05 Javascript
javascript实现的一个随机点名功能
Aug 26 Javascript
node.js中的fs.write方法使用说明
Dec 15 Javascript
基于JavaScript实现一定时间后去执行一个函数
Dec 14 Javascript
JS实现的适合做faq或menu滑动效果示例
Nov 17 Javascript
Angular 5.0 来了! 有这些大变化
Nov 15 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
德劲1102收音机的打理维修案例
2021/03/02 无线电
我的论坛源代码(一)
2006/10/09 PHP
第一节--面向对象编程
2006/11/16 PHP
php unset全局变量运用问题的深入解析
2013/06/17 PHP
PHP+MySQL删除操作实例
2015/01/21 PHP
PHP编程获取音频文件时长的方法【基于getid3类】
2017/04/20 PHP
PHP检查URL包含特定字符串实例方法
2019/02/11 PHP
漂亮的仿flash菜单,来自蓝色经典
2006/06/26 Javascript
经常用的图片在容器中的水平垂直居中实例
2007/06/10 Javascript
jQuery不兼容input的change事件问题解决过程
2014/12/05 Javascript
javascript中replace( )方法的使用
2015/04/24 Javascript
jquery实现的点击翻书效果代码
2015/11/04 Javascript
关于jquery中动态增加select,事件无效的快速解决方法
2016/08/29 Javascript
浅谈javascript中的数据类型转换
2016/12/27 Javascript
简单实现bootstrap导航效果
2017/02/07 Javascript
bootstrap select插件封装成Vue2.0组件
2017/04/17 Javascript
node使用promise替代回调函数
2018/05/07 Javascript
详解webpack4多入口、多页面项目构建案例
2018/05/25 Javascript
Javascript实现动态时钟效果
2018/11/17 Javascript
Vuex的API文档说明详解
2020/02/05 Javascript
swiperjs实现导航与tab页的联动
2020/12/13 Javascript
Python实现给qq邮箱发送邮件的方法
2015/05/28 Python
python安装PIL模块时Unable to find vcvarsall.bat错误的解决方法
2016/09/19 Python
Python中函数eval和ast.literal_eval的区别详解
2017/08/10 Python
基于OpenCV python3实现证件照换背景的方法
2019/03/22 Python
python对常见数据类型的遍历解析
2019/08/27 Python
python实现用类读取文件数据并计算矩形面积
2020/01/18 Python
欧洲当代手工玻璃和瓷器的领先品牌:LSA International
2018/06/03 全球购物
英国领先的名牌服装折扣零售商:Brown Bag Clothing
2019/01/08 全球购物
高中生家长会演讲稿
2014/01/14 职场文书
2014年卫生监督工作总结
2014/12/09 职场文书
五一晚会主持词
2015/07/01 职场文书
小学开学典礼新闻稿
2015/07/17 职场文书
个人合作协议范本
2015/08/06 职场文书
清洁工工作总结
2015/08/11 职场文书
MYSQL如何查看操作日志详解
2022/05/30 MySQL