ExtJs 3-添加侦听器

问题描述

|| 我想完成: 当选择组合框中的某些项目时,隐藏表单或完整div中的其他字段。 这是我的组合框:
var typeIDcombo = new Ext.form.ComboBox({
        fieldLabel: \'Type\',name: \'typeid\',store: typeIdData,displayField:\'name\',valueField: \'typeid\',hiddenName: \'typeid\',typeAhead: false,mode: \'local\',triggerAction: \'all\',emptyText:\'Selecteer het type link\',forceSelection: true,selectOnFocus:true,allowBlank: false,value: \'Selecteer een type\',});
我已将侦听器添加到我的var form = new Ext.FormPanel中。但这是行不通的。
listeners: [{
    \'select\' : function(field,nval,oval) {
     alert(field);
    }],
有人知道解决方案吗?提前致谢。     

解决方法

首先,FormPanel上的侦听器不是必需的,因为FormPanel不会在其自身的事件上触发任何\'select \'事件。您应该在FormPanel内的组件上添加侦听器,以侦听组件触发的指定事件。 对于您的情况,很简单,如下所示:
var typeIDcombo = new Ext.form.ComboBox({
    fieldLabel: \'Type\',name: \'typeid\',store: typeIdData,displayField:\'name\',valueField: \'typeid\',hiddenName: \'typeid\',typeAhead: false,mode: \'local\',triggerAction: \'all\',emptyText:\'Selecteer het type link\',forceSelection: true,selectOnFocus:true,allowBlank: false,value: \'Selecteer een type\',listeners:{
         select:function(field,newVal,oldVal){
             if(newVal == \'HIDE_SOMETHING\'){
                  Ext.getCmp(\'fieldId\').hide();
                  Ext.getCmp(\'formId\').doLayout();

             }
             else if(newVal == \'SHOW_SOMETHING\'){
                  Ext.getCmp(\'fieldId\').show();
                  Ext.getCmp(\'formId\').doLayout();

             }
         }
    }
});
    ,尝试这个:
typeIDcombo.on(\'select\',function(combo) {
    if (combo.value == \'ABC\') { 
        Ext.getCmp(\'field\').show();
        Ext.getCmp(\'form\').doLayout();
    } else {
        Ext.getCmp(\'field\').hide();
        Ext.getCmp(\'form\').doLayout();
    }
});
    ,正如Warung所写,应该这样做:
var typeIDcombo = new Ext.form.ComboBox({
    fieldLabel: \'Type\',listeners: [{
        select : function(field,nval,oval) {
            alert(\"Hit\");
    }]
});
    

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...