怎么为extjs的combobox添加监听器?

来源:百度知道 编辑:UC知道 时间:2024/06/14 21:10:59
做的是一个关于地图的下拉框,下拉框里有不同的比例尺,当选中时就向后台发送请求改变地图大小。。现在怎么为combobox写监听器监听选择了哪个选项?监听器应该写在哪?。。
var scale = new Ext.form.ComboBox({
id:'scale',
xtype:'combo',
mode : 'local',
width:120,
fieldLabel:'目标图层',
displayField:'bilichi',
valueField:'num',
store:new Ext.data.SimpleStore({
fields:['bilichi','num'],
data:[['1:10000','10000'],['1:25000','25000'],['1:50000','50000'],['1:250000','250000'],['1:500000','500000'],['1:1000000','1000000']]
}),
triggerAction:'all',
emptyText:'请选择比例尺',

selectOnFocus:'true'
})

加监听器有几种方式的,看你喜欢哪种了
1,在selectOnFocus:'true'下加上onSelect:function(){代码}
2,listener:{
'select':function(){}
}
3,scale.on('select',fuction(){})

extjs 事件监听 都是在 创建这个 组件时,组件属性里 写上
listeners: {
select: function(){ 这里写触发后的动作 },
...
change: function(){ 这里写触发后的动作}
}
其中这些function 都有一些回调参数的,你在写的时候,可以参考api文档,了解每个参数的意义,使用起来会更加方便和完善;
另外 给组件添加事件监听,也可以动态的添加,比如:
combobox.on('select',function(){ 这个function 和上面所讲的function 是同样的 });
extjs所有的组件都是用 .on('监听器名称',function(){回调函数} ) 来动态添加...

scale.on('select',function(){
var vl=scale.getValue();
//接下来就可以做你的后台请求什么的了
})