jquery.fastLiveFilter.js實(shí)現(xiàn)輸入自動(dòng)過(guò)濾的方法
本文實(shí)例講述了jquery.fastLiveFilter.js實(shí)現(xiàn)輸入自動(dòng)過(guò)濾的方法。分享給大家供大家參考。具體如下:
本效果是使用jquery.fastLiveFilter.js插件來(lái)實(shí)現(xiàn)的,類(lèi)似于搜索框的輸入提示功能,實(shí)現(xiàn)對(duì)匹配項(xiàng)目的自動(dòng)過(guò)濾功能,當(dāng)你輸入的時(shí)候,會(huì)根據(jù)輸入的字符智能匹配符合的內(nèi)容,自動(dòng)列出來(lái),提高人性化操作體驗(yàn),如果您對(duì)jquery.fastLiveFilter.js插件的用法感興趣,這是個(gè)很不錯(cuò)的例子。
運(yùn)行效果截圖如下:

具體代碼如下:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>jQuery過(guò)濾器插件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="輸入文字開(kāi)始篩選">
<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>
希望本文所述對(duì)大家的jquery程序設(shè)計(jì)有所幫助。
- Javascript中關(guān)于Array.filter()的妙用詳解
- AngularJS中的過(guò)濾器filter用法完全解析
- JavaScript 數(shù)組some()和filter()的用法及區(qū)別
- JavaScript中利用Array filter() 方法壓縮稀疏數(shù)組
- JavaScript之filter_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
- 詳解AngularJS中的filter過(guò)濾器用法
- Vue.js報(bào)錯(cuò)Failed to resolve filter問(wèn)題的解決方法
- AngularJS過(guò)濾器filter用法總結(jié)
- 詳解AngularJS Filter(過(guò)濾器)用法
- JavaScript中filter的用法實(shí)例分析
相關(guān)文章
jQuery對(duì)象和DOM對(duì)象使用說(shuō)明
jQuery對(duì)象和DOM對(duì)象使用說(shuō)明,需要的朋友可以參考下。2010-06-06
用jquery的方法制作一個(gè)簡(jiǎn)單的導(dǎo)航欄
用jquery制作一個(gè)簡(jiǎn)單的導(dǎo)航欄,使用到了addClass及removeClass等方法,需要的朋友可以參考下2014-06-06
zTree樹(shù)形菜單交互選項(xiàng)卡效果的實(shí)現(xiàn)方法
下面小編就為大家分享一篇zTree樹(shù)形菜單交互選項(xiàng)卡效果的實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2017-12-12
jQuery簡(jiǎn)單實(shí)現(xiàn)點(diǎn)擊文本框復(fù)制內(nèi)容到剪貼板上的方法
這篇文章主要介紹了jQuery簡(jiǎn)單實(shí)現(xiàn)點(diǎn)擊文本框復(fù)制內(nèi)容到剪貼板上的方法,涉及jQuery針對(duì)瀏覽器的判定與剪貼板的讀寫(xiě)操作技巧,需要的朋友可以參考下2016-08-08
Jquery插件easyUi實(shí)現(xiàn)表單驗(yàn)證示例
這篇文章主要介紹了Jquery插件easyUi實(shí)現(xiàn)表單驗(yàn)證示例,需要的朋友可以參考下2015-12-12
jQuery 樹(shù)形結(jié)構(gòu)的選擇器
樹(shù)形結(jié)構(gòu)里的節(jié)點(diǎn),如果它不是根部,也不是末枝,那么它一定有父母和孩子。2010-02-02
jQuery中triggerHandler()方法用法實(shí)例
這篇文章主要介紹了jQuery中triggerHandler()方法用法,實(shí)例分析了triggerHandler()方法的功能、定義及觸發(fā)被選元素的指定事件類(lèi)型的使用技巧,需要的朋友可以參考下2015-01-01

