ExtJs 3 - 添加监听器

时间:2011-05-16 09:29:49

标签: extjs

我想完成:

  • 当选择ComboBox中的某个项目时,隐藏表单中的其他字段或完整的div。

这是我的ComboBox:

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);
    }],

有人知道这方面的解决方案吗?提前谢谢。

3 个答案:

答案 0 :(得分:4)

试试这个:

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();
    }
});

答案 1 :(得分:2)

正如Warung所写,应该这样做:

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,nval,oval) {
            alert("Hit");
    }]
});

答案 2 :(得分:1)