本文介绍如何使用jquery.fastLiveFilter.js插件实现类似搜索框的实时输入过滤效果。该插件能根据用户输入的字符智能匹配并自动列出符合内容,提升操作体验。文章提供了完整的HTML与JavaScript代码示例及运行效果截图,适合需要快速实现前端过滤功能的开发者参考。
jQuery插件fastLiveFilter实时过滤功能介绍
本文详细介绍基于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编程工作有所帮助。