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