2011-07-30 66 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)