無可奈何的開始了jquery的「奇淫技巧」

2022-01-12 13:32:03 字數 986 閱讀 3966

修改乙個已有的專案,主要是前端方面,一般的專案後端都是處理好了的,不需要改也不能改,除非特殊需求。然後就遇到了牛逼的**。本來看別人已有的**做開發就是一件很頭疼的事,乙個函式乙個方法乙個屬性的找,眼睛疼....然後今天改**還特別頭疼,大概說說:

首先不能使用jquery-ui的自動補全外掛程式,換句說話,所有的第三方模糊匹配/自動補全外掛程式都不能用,但是給我懵的。ajax將請求post到c#後端隨後獲取資料,傳到前端之後,一大串的資料,需要你在乙個文字框中邊檢索邊做模糊匹配,本來很好解決的乙個事,直接使用jquery-ui的autocomplete就行,但是不行,就不讓,我有啥辦法,然後就自己想轍解決問題。沒有特定的環境,我們就不會有對應的解決方法,更不會嘗試去解決,最後解決它。我的方法是,監聽input標籤的寫入事件,然後獲取寫入的值,將值與從後台獲取到的資料進行匹配,匹配成功,再動態生成div以下拉列表的形式填充到輸入框下面。但是遇到個問題,input框檢索的是name欄位,不是乙個字串而是字元,就是我們的string型別——"hello world"之類的。那麼應該怎麼解決呢?我想到了資料結構書上的字串匹配演算法kmp,於是查了下jquery的匹配方法,果然有乙個match,這就可以給我們解決問題了。通過這兩個解決方案就可自定義的建立自動補全了。

還有乙個問題,那就是input標籤的placeholder屬性需要實時變換,明明這個屬性就支援你寫入input它就消失,你不寫入它就存在。可以由於專案的已有**問題,我實在是被坑的沒轍,又不能改,只能加,然後就想對應的解決方法。我的解決方案是監控div:

一開始,div下巢狀著input,在input中寫入的時候,就會產生上面我們的自動補全下拉框(其實就是乙個動態的div),一旦我們選中了乙個下拉框的元素,那麼會在該div下生成乙個span標籤,也就是說,input的placeholder屬性的值還存在,這**設計....坑的是後來人....然後我該怎麼解決?監控div就行。如果div下生成了乙個span標籤那麼我們就是將input的placeholder設定為''.否則就設定為'必填字段'。**拷貝不出來,因為在公司內網機上....

無可奈何的成就

上帝為你關閉了一扇門,他一定會為你開啟一扇窗。生活中,每個人都不是十全十美的,都會遇到無可奈何的時候,與其在那裡焦急 發燥 還不如換一種方式,換一種心態去解決問題,或許結果也是不錯的。無可奈何也會成就一番事業。生活中會有很多無奈,讓我們陷入沉思。聽說過這樣乙個故事 有乙個人去應聘乙個公司的清潔工,面...

成為無可替代,從提公升自己的貢獻開始!

在大多數情況下,test team並不是以軟體的直接生產者的身份出現的,而是作為乙個附屬的功能團隊承擔開發過程中的一部分職責。這也決定了test team 的工作並不不能直接的體現出價值,而是只有當test team的工作成果被其他人或team所使用,為其他人或team帶來價值時,才能真正的體現出t...

WPF書籍的戰爭開始了

原文 the wpf book fight is on roy的 中描述的petzold,anderson和griffiths sells之間旗鼓相當的競爭現在可以鄭重地開始了。這週我在barnes和noble看見了 ian和sells的書,所以大家現在可以開始去認真閱讀了。不管真假,我從ander...