jQueryeasyUI combobox點擊下拉觸發事件

今天項目組接到一個優化需求,三級聯動實現反選。
舉例說明一下,例如本來是湖北-武漢-武昌。現在要實現選中武昌後,湖北-武漢自動帶出。這個需求本來不困難。但是由於之前項目中對這塊的三級聯動進行了封裝。導致修改很困難。
雖然最終是實現了這個效果,但是自己浪費了很多事件。這裏說一下中間自己的發現的一個有意思的點。

三級聯動:省-市-區域
這個需求中有一個要求是點擊"區域"下拉的時候,自動加載該下拉框。之前的三級聯動初始化的時候只加載了省份,後面的市和區域依賴前面的選項onselect事件。

Name Parameters Description
onSelect record Fires when the user selects a list item.


項目使用的是jQueryeasyUI。下拉使用的是combobox。這裏自己陷入了一個怪圈,那就是怎麼一直在想如何實現這個區域的點擊下拉。因爲這個實現了,後面的反選就比較簡單。


我一直在想怎麼實現"click"事件,沒有想過是不是有其他事件可以替代。

想到的包括:

1combobox("textbox"),

2通過選擇器找到,然後綁定(bind("click",function(){}))。

但是下拉這個元素是jQueryeasyUI自己生成的。如果通過選擇器實現,後面很容易出現問題。

用第一種方法必須點擊文本框才能觸發事件,不滿足需求。


然後我就在這個“怪圈”裏轉了一兩個小時,想怎麼實現比較好。還在權和利弊-.-
思來想去這兩種方式都不可靠。


最後去官網查看combobox繼承自那幾個組件。有沒有一些比較好的方法是自己不知道的。
發現combobbox依賴combo,而bombo依賴panel和textbox。如果是這樣,那麼combobox是不是也可以使用showPanel事件。
然後我試了一下,果然可以。
可以通過

console.log($("#sele").combobox("options"))

查看到combobox有哪些屬性和方法。

最終問題解決了。但是也給自己提個醒。有時候如果思路不對,要及時更正方向。不然容易浪費事件。

知識使我快樂

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章