2011-07-30 105 views
2

嘗試獲取組合框的前一個值。我嘗試了'改變'事件,但它不起作用。如果我沒有錯,新的extjs 4.0中不存在'beforeselect'。任何想法如何我可以做到這一點?Extjs組合框取得以前的值?

我知道我們可以使用更改事件,但只有當用戶鍵入內容時纔會發生。我想檢查每個新選擇中是否有以前的值?

回答

4

這是有點奇怪,沒有beforeselect事件。然而,combobox延伸picker和每個選擇器具有beforeselect事件的selectionModel。所以,你可以指定處理程序選擇器selModel的beforeselect事件:

MyCombo.getPicker().getSelectionModel() 
    .on('beforeselect',function(sm, selections, i) { 
     console.log(sm.lastSelected, selections, i); 
    }); 
1

您可以使用更改事件處理程序,通過這個PARAMS到您的收聽(combo, newValue, oldValue)