ExtJs - 组合框和隐藏字段

时间:2011-09-20 05:50:37

标签: extjs combobox hidden

显示隐藏字段值时出现问题。 我的代码:

var MyComboBox = Ext.extend(Ext.form.ComboBox, {
initComponent : function() {
    Ext.apply(this, { 
        store           : Store ,

        displayField   : 'name',
        valueField     : 'id',

        typeAhead      : true,
        mode           : 'local',
        forceSelection : true,
        triggerAction  : 'all',
        selectOnFocus  : true
    });
    MyComboBox.superclass.initComponent.apply(this, arguments);
}
});


// Select event.
var combo1 = new MyComboBox({
    name        : 'combo1',
    applyTo     : 'combo1',
    hiddenName  : 'hcombo1',    // hidde field
    hiddenValue : 'id',

    listeners : {
        'select' : function() {
            combo2.setValue(combo1.getValue());
        }
    }
});

var combo2 = new MyComboBox({
    name      : 'combo2',
    applyTo   : 'combo2',
    listeners : {
        'select' : function() {
            alert(combo1.getRawValue()); // print hidden value (id of record)
        }
    }
}); 

我需要名字隐藏字段的值 - hcombo1。但是代码警报(combo1.getRawValue()) - 打印不是ID,它们打印NAME。我做错了什么? ExtJS 3.3.1

1 个答案:

答案 0 :(得分:1)

尝试改变你的听众:

listeners : {
    'select' : function(combo) {
        combo2.setValue(combo.getValue());
    }
}

从docs,事件“select”可以传递3个参数
select : ( Ext.form.ComboBox combo, Ext.data.Record record, Number index )