EasyUI 中 Combobox 選項發生改變時會觸發 onChange,onSelect,onClick,3 個事件。最近要做一個級聯的 Combo 菜單,類似於選擇地址時讓用戶填寫省,市,區的菜單,選擇了省,市菜單相應改變區菜單清空,選擇了市後區菜單會相應改變。爲實現這個功能在 Combobox 選擇事件上糾結了一陣,現總結一下它們的區別。
onChange(newVal, oldVal)
官方文檔說當 Combobox 選擇項發生改變後觸發,參數是選擇的新值和之前的舊值。這個事件在用程序改變選項時也觸發,在選擇相同項目時不觸發,在 Combobox load 完新數據選項變爲空時也不會觸發。
onSelect(item)
官方文檔說當用戶選擇 Combobox 選項時觸發,本以爲這樣在程序改變 Combobox 選項時就不會觸發這個事件了,但實際測試得出該事件的觸發與 onChange 完全相同,不同的只是它的參數是 Combobox 選中的數據項而 onChange 是選中的新值和舊值。
onClick(item)
官方文檔說當用戶點擊了一個 Combobox 選項時觸發。經測試該事件在用戶點擊選項時觸發,用戶重複點擊相同選項時也會觸發。用程序改變選項和在 Combobox load 完新數據選項變爲空時不觸發。