您好,登錄后才能下訂單哦!
這篇文章主要介紹了如何實(shí)現(xiàn)基于input動態(tài)模糊查詢,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
最近在用jQuery實(shí)現(xiàn)動態(tài)模糊查詢的時候,找了挺久都沒有找到像Vue.js的watch屬性這么好用的動態(tài)模糊查詢方法。就分享一下目前遇到的坑和可以實(shí)現(xiàn)動態(tài)查詢的幾種方式。
1.jQuery的change()方法。
這個方法要失去所在的input框的焦點(diǎn)時,事件才會被觸發(fā),感覺有點(diǎn)雞肋,也有可能是我沒有完全會熟用這個方法,希望懂的大神可以分享一下使用秘籍。
<input type="text" id="n3"/> var $n3=$("#n3);//定位到input框 $n3.change(function(){ this.query_search($n3.val());//query_search為模糊查詢的方法 })
change()函數(shù)用于為每個匹配元素的change事件綁定處理函數(shù)。該函數(shù)也可用于觸發(fā)change事件。此外,你還可以額外傳遞給事件處理函數(shù)一些數(shù)據(jù)。change事件會在文本內(nèi)容或選項(xiàng)被更改時觸發(fā)。該事件僅適用于<input type="text">和<textarea>以及<select>。對于text和textarea元素,該事件會在元素失去焦點(diǎn)時發(fā)生(文本內(nèi)容也發(fā)生了更改)。此外,你可以為同一元素多次調(diào)用該函數(shù),從而綁定多個事件處理函數(shù)。觸發(fā)change事件時,jQuery會按照綁定的先后順序依次執(zhí)行綁定的事件處理函數(shù)。要刪除通過change()綁定的事件,請使用unbind()函數(shù)。
2.監(jiān)聽JQuery的keyup或者keydown事件
這個方法可以監(jiān)聽每個按鍵的觸發(fā)事件,可以把模糊查詢方法綁定到響應(yīng)的事件上,每按一次就會觸發(fā)一次模糊查詢的事件,但是這樣做會大大增加數(shù)據(jù)庫的壓力,如果人多操作而且沒有緩存的話,數(shù)據(jù)庫會分分鐘炸掉。
<input type="text" id="#n3"/> var $n3=$("#n3");//定位到input框 $n3.keyup(function(){ this.query_search($n3.prop("value"));//query_search為模糊查詢的方法 })
3.使用Vue.js的watch屬性觀察者方法。
這個方法可以動態(tài)觀察input框里面的屬性變化情況,只要input框的value值發(fā)生變化,就會動態(tài)調(diào)用響應(yīng)的方法。
最后值得一說的是,獲取input的text框里面的value值有三種方法.
1.通過attr("value")獲取。這種方法獲取只能獲取默認(rèn)的。也就是說,你css代碼里面原先定義的value值是多少,頁面第一次展現(xiàn)的也是多少,而且這個值不會變。
2.通過prop("value")獲取。這種方法能獲取默認(rèn)的,也能獲取改變或的值,只要你改變了就能獲取到。
3.通過val()獲取。這個感覺和prop("value")差不多。
4.也可以用Vue.js的v-model綁定獲取到,那就算是4種方法吧。
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“如何實(shí)現(xiàn)基于input動態(tài)模糊查詢”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。