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中even选择器的定义和用法
Dec 23 Javascript
28个常用JavaScript方法集锦
Jan 14 Javascript
jQuery和AngularJS的区别浅析
Jan 29 Javascript
JavaScript分页功能的实现方法
Apr 25 Javascript
解析javascript中鼠标滚轮事件
May 26 Javascript
正则表达式优化JSON字符串的技巧
Dec 24 Javascript
原生js和jQuery实现淡入淡出轮播效果
Dec 25 Javascript
jQuery Validate表单验证插件 添加class属性形式的校验
Jan 18 Javascript
使用getBoundingClientRect方法实现简洁的sticky组件的方法
Mar 22 Javascript
javascript+HTML5 Canvas绘制转盘抽奖
May 16 Javascript
vue使用axios时关于this的指向问题详解
Dec 22 Javascript
Vue实现调节窗口大小时触发事件动态调节更新组件尺寸的方法
Sep 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
ThinkPHP采用GET方式获取中文参数查询无结果的解决方法
2014/06/26 PHP
PHP实现过滤各种HTML标签
2015/05/17 PHP
深入理解PHP原理之执行周期分析
2016/06/01 PHP
Laravel框架Request、Response及Session操作示例
2019/05/06 PHP
JavaScript入门之事件、cookie、定时等
2011/10/21 Javascript
javascript+ajax实现产品页面加载信息
2015/07/09 Javascript
浅谈window对象的scrollBy()方法
2015/07/15 Javascript
JavaScript实现下拉列表框数据增加、删除、上下排序的方法
2015/08/11 Javascript
JavaScript基础——使用Canvas绘图
2016/11/02 Javascript
easyui datebox 时间限制,datebox开始时间限制结束时间,datebox截止日期比起始日期大的实现代码
2017/01/12 Javascript
前端框架学习总结之Angular、React与Vue的比较详解
2017/03/14 Javascript
详谈Node.js之操作文件系统
2017/08/29 Javascript
JS使用new操作符创建对象的方法分析
2019/05/30 Javascript
微信小程序文字显示换行问题
2019/07/28 Javascript
微信小程序点击顶部导航栏切换样式代码实例
2019/11/12 Javascript
原生js实现照片墙效果
2020/10/13 Javascript
vue使用transition组件动画效果的实例代码
2021/01/28 Vue.js
详解使用Python处理文件目录的相关方法
2015/10/16 Python
python爬取内容存入Excel实例
2019/02/20 Python
python实现电子产品商店
2019/02/26 Python
Django模型修改及数据迁移实现解析
2019/08/01 Python
python实现身份证实名认证的方法实例
2019/11/08 Python
对pytorch的函数中的group参数的作用介绍
2020/02/18 Python
基于Python实现天天酷跑功能
2021/01/06 Python
H5离线存储Manifest原理及使用
2020/04/28 HTML / CSS
领先的钻石和订婚戒指零售商:Diamonds-USA
2016/12/11 全球购物
澳大利亚时尚前卫设计师珠宝在线:Amber Sceats
2017/10/04 全球购物
精选奢华:THE LIST
2019/09/05 全球购物
Java方面的关于数组和继承的笔面试题
2015/09/18 面试题
网络文明传播志愿者活动方案
2014/08/20 职场文书
任命书怎么写
2015/03/02 职场文书
学校捐书倡议书
2015/04/27 职场文书
2015年学校减负工作总结
2015/05/19 职场文书
2016年国庆节假期旅游工作总结
2016/04/01 职场文书
品牌形象定位,全面分析
2019/07/23 职场文书
pytest进阶教程之fixture函数详解
2021/03/29 Python