【问题标题】:ExtJs - Combobox and hidden fieldsExtJs - 组合框和隐藏字段
【发布时间】:2011-09-20 05:50:36
【问题描述】:

我在显示隐藏字段值时遇到问题。 我的代码:

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 的隐藏字段的值。但是代码 alert(combo1.getRawValue()) - 不是打印 ID,而是打印 NAME。我做错了什么? ExtJS 3.3.1

【问题讨论】:

    标签: extjs combobox hidden


    【解决方案1】:

    尝试像这样改变你的听众:

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

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

    【讨论】:

    • 非常感谢。在这个例子中工作。但是在第二个组合框创建第一个组合框的情况下,所以不要传递第一个组合框的 id。我尝试这样 Ext.get ('id')。 Dom.value = Ext.get ('comp_name')。获取值();如何获取隐藏元素值?
    • 对不起,我没听懂,...我不明白你的意思...当combo1被选中时,combo2的值改变了,当combo2被选中时,combo1的值改变了??还是什么?
    • 感谢您的帮助)我想通了。我不得不用组合框取一个隐藏的字段。我试图用 Ext.get,但不得不用 Ext.getCmp)
    猜你喜欢
    • 2011-04-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多