jQuery實(shí)現(xiàn)模糊查詢的方法分析
本文實(shí)例講述了jQuery實(shí)現(xiàn)模糊查詢的方法。分享給大家供大家參考,具體如下:
需求:list列表內(nèi)容很多,用戶需要找出列表內(nèi)容中的某些條目,只有當(dāng)與用戶輸入值匹配的條目才顯示出來。(后臺無分頁,直接異步接口返回?cái)?shù)據(jù)添加形成的內(nèi)容列表)
雖然可以通過傳參再調(diào)用查詢出來,但這里主要記錄的是前端處理進(jìn)行模糊查詢而無需再次調(diào)用接口的實(shí)現(xiàn)方法。
html部分:
<div class="search-form">
<input type="text" placeholder="請輸入關(guān)鍵詞">
<span class="icon-clear"></span>
</div>
<div class="content">
<div class="title row no-gutter">
<div class="col-20">列表一</div>
<div class="col-20">列表二</div>
<div class="col-20">列表三</div>
<div class="col-20">列表四</div>
<div class="col-20">列表五</div>
</div>
<div class="list-content">
<ul>
<li>
<div class="code">00001</div>
<div class="name">內(nèi)容1</div>
<div>內(nèi)容2</div>
<div>內(nèi)容3</div>
<div>內(nèi)容4</div>
</li>
<li>……</li>
</ul>
</div>
</div>
js部分:
queryList: function(){
$(".search-input").on("input propertychange", function() {
var queryStr = $.trim($(".search-input").val());
if(queryStr === ''){
$(".list-content li").show();
}else{
// 以下是匹配某些列的內(nèi)容,如果是匹配全部列的話就把find()和.parent()去掉即可
$(".list-content li").hide().find(".code, .name").filter(":contains('"+queryStr+"')").parent("li").show();
//$(".list-content").refresh(); //重新刷新列表把隱藏的dom結(jié)構(gòu)去掉。
}
});
}
分析:以上即實(shí)現(xiàn)了前端js的模糊查詢功能啦,哈哈。代碼中監(jiān)聽事件中多加了input,據(jù)說是為兼容iOS的,具體沒測試,有哪位大神測試了可以告知一聲哈,謝謝了。
還有個(gè)問題就是,以上實(shí)現(xiàn)方法,當(dāng)列表內(nèi)容多大幾千條數(shù)目或者更多時(shí),表單輸入時(shí)會出現(xiàn)卡頓的情況,因?yàn)橐ㄟ^js操作大量的DOM結(jié)構(gòu)?。[藏或顯示),PC上或許情況還沒有那么嚴(yán)重,在手機(jī)上測試時(shí)那真的是“怎一個(gè)卡字了得”,如果哪位大神有更好的法子,還望加以完善!
更多關(guān)于jQuery相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《jQuery表格(table)操作技巧匯總》、《jQuery切換特效與技巧總結(jié)》、《jQuery擴(kuò)展技巧總結(jié)》、《jQuery常用插件及用法總結(jié)》、《jQuery拖拽特效與技巧總結(jié)》、《jquery中Ajax用法總結(jié)》、《jQuery常見經(jīng)典特效匯總》、《jQuery動畫與特效用法總結(jié)》及《jquery選擇器用法總結(jié)》
希望本文所述對大家jQuery程序設(shè)計(jì)有所幫助。
- jQuery zTree搜索-關(guān)鍵字查詢 遞歸無限層功能實(shí)現(xiàn)代碼
- jQuery插件select2利用ajax高效查詢大數(shù)據(jù)列表(可搜索、可分頁)
- 基于jquery實(shí)現(xiàn)的類似百度搜索的輸入框自動完成功能
- 基于jquery的仿百度搜索框效果代碼
- 基于jQuery實(shí)現(xiàn)搜索關(guān)鍵字自動匹配功能
- Jquery實(shí)現(xiàn)搜索框提示功能示例代碼
- 基于jQuery實(shí)現(xiàn)頁面搜索功能
- jQuery+Ajax實(shí)現(xiàn)限制查詢間隔的方法
- 基于jquery的表格排序
- jQuery利用sort對DOM元素進(jìn)行排序操作
- jQuery實(shí)現(xiàn)條件搜索查詢、實(shí)時(shí)取值及升降序排序的方法分析
相關(guān)文章
jQuery實(shí)現(xiàn)簡單三級聯(lián)動效果
這篇文章主要為大家詳細(xì)介紹了jQuery實(shí)現(xiàn)簡單三級聯(lián)動效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-09-09
jQuery+ThinkPHP實(shí)現(xiàn)圖片上傳
這篇文章主要為大家詳細(xì)介紹了jQuery+ThinkPHP實(shí)現(xiàn)圖片上傳,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-07-07
jQuery on()綁定動態(tài)元素出現(xiàn)的問題小結(jié)
jQuery on()方法是官方推薦的綁定事件的一個(gè)方法。使用 on() 方法可以給將來動態(tài)創(chuàng)建的動態(tài)元素綁定指定的事件,通過本文給大家介紹jQuery on()綁定動態(tài)元素出現(xiàn)的問題小結(jié),需要的朋友參考下2016-02-02
利用jquery正則表達(dá)式在頁面驗(yàn)證url網(wǎng)址輸入是否正確
這篇文章主要介紹了關(guān)于利用jquery正則表達(dá)式在頁面驗(yàn)證url網(wǎng)址輸入是否正確的相關(guān)資料,文中給出了完整的示例代碼,對大家具有一定的參考價(jià)值,需要的朋友們下面來一起看看吧。2017-04-04
jQuery實(shí)現(xiàn)的縱向下拉菜單實(shí)例詳解【附demo源碼下載】
這篇文章主要介紹了jQuery實(shí)現(xiàn)的縱向下拉菜單,結(jié)合實(shí)例形式分析了jQuery動態(tài)操作頁面元素實(shí)現(xiàn)縱向下拉菜單的步驟與相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2016-07-07
jQuery中調(diào)用WebService方法小結(jié)
以前在寫ajax請求時(shí),總是喜歡使用jQuery+ashx的方式進(jìn)行調(diào)用,今天采取jQuery+WebService的方法來做ajax請求,發(fā)現(xiàn)這種方式比使用ashx的方式要更方便。2011-03-03
jQuery實(shí)現(xiàn)聯(lián)動下拉列表查詢框
這篇文章主要為大家詳細(xì)介紹了jQuery實(shí)現(xiàn)聯(lián)動下拉列表查詢框,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-01-01
jQuery中的Deferred和promise 的區(qū)別
這篇文章主要介紹了jQuery中的Deferred和promise 的區(qū)別的相關(guān)資料,需要的朋友可以參考下2016-04-04
淺析JQuery UI Dialog的樣式設(shè)置問題
本篇文章主要是對JQuery中UI Dialog的樣式設(shè)置問題進(jìn)行了詳細(xì)的分析介紹,需要的朋友可以過來參考下,希望對大家有所幫助2013-12-12

