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 相关文章推荐
表单(FORM)的一些实用效果代码
Mar 25 Javascript
javascript的函数、创建对象、封装、属性和方法、继承
Mar 10 Javascript
基于jquery实现的表格分页实现代码
Jun 21 Javascript
jquery实现商品拖动选择效果代码(自写)
May 28 Javascript
JavaScript实现的购物车效果可以运用在好多地方
May 09 Javascript
Javascript核心读书有感之语言核心
Feb 01 Javascript
js 中文汉字转Unicode、Unicode转中文汉字、ASCII转换Unicode、Unicode转换ASCII、中文转换
Dec 06 Javascript
JavaScript中捕获/阻止捕获、冒泡/阻止冒泡方法
Dec 07 Javascript
在Vue中使用highCharts绘制3d饼图的方法
Feb 08 Javascript
使用ECharts实现状态区间图
Oct 25 Javascript
React生命周期原理与用法踩坑笔记
Apr 28 Javascript
JavaScript 去重和重复次数统计
Mar 31 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格式化日期实例分析
2014/11/12 PHP
php生成验证码,缩略图及水印图的类分享
2016/04/07 PHP
PHP实现生成推广海报的方法详解
2018/03/14 PHP
php使用Swoole实现毫秒级定时任务的方法
2020/09/04 PHP
JavaScript 判断判断某个对象是Object还是一个Array
2010/01/28 Javascript
javascript 打开页面window.location和window.open的区别
2010/03/17 Javascript
Javascript string 扩展库代码
2010/04/09 Javascript
javascript preload&amp;lazy load
2010/05/13 Javascript
JQuery表格内容过滤的实现方法
2013/07/05 Javascript
jQuery实现contains方法不区分大小写的方法
2015/02/13 Javascript
DEDECMS如何为文章添加HOT NEW标志图片
2015/08/14 Javascript
Augularjs-起步详解
2016/07/08 Javascript
AngularJS 中的事件详解
2016/07/28 Javascript
jQuery插件Echarts实现的双轴图效果示例【附demo源码下载】
2017/03/04 Javascript
jQuery+ThinkPHP+Ajax实现即时消息提醒功能实例代码
2017/03/21 jQuery
详解React Native顶|底部导航使用小技巧
2017/09/14 Javascript
webpack写jquery插件的环境配置
2017/12/21 jQuery
Vue.Draggable拖拽功能的配置使用方法
2020/07/29 Javascript
vue-music 使用better-scroll遇到轮播图不能自动轮播问题
2018/12/03 Javascript
Vue-CLI与Vuex使用方法实例分析
2020/01/06 Javascript
PYQT5设置textEdit自动滚屏的方法
2019/06/14 Python
Python 中PyQt5 点击主窗口弹出另一个窗口的实现方法
2019/07/04 Python
windows安装TensorFlow和Keras遇到的问题及其解决方法
2019/07/10 Python
Django restful framework生成API文档过程详解
2020/11/12 Python
canvas进阶之贝塞尔公式推导与物体跟随复杂曲线的轨迹运动
2018/01/10 HTML / CSS
泰国网上购物:Shopee泰国
2018/09/14 全球购物
OnePlus加拿大官网:中国国际化手机品牌
2020/10/13 全球购物
宾馆仓管员岗位职责
2014/07/27 职场文书
教师暑期培训感言
2014/08/15 职场文书
团队拓展活动方案
2014/08/28 职场文书
小学生清明节演讲稿
2014/09/05 职场文书
2015年领导班子工作总结
2015/05/23 职场文书
离开雷锋的日子观后感
2015/06/09 职场文书
医学生自荐信范文(2016精选篇)
2016/01/28 职场文书
导游词之云南-元阳梯田
2019/10/08 职场文书
SONY600GR,国产收音机厂商永远的痛
2022/04/05 无线电