ComboBox值未定义

时间:2013-10-14 14:25:36

标签: extjs drop-down-menu combobox

我有一个带有2个DropDownBoxes的程序,其中1个dropbox值被放在第一个(用户值)的值上。

我的问题是我试图从一个投递箱中获取该值,并且“无法获得未定义的值”。

这是代码:

{
    xtype: 'combobox',
    displayField: 'vendor_name',
    typeAhead: true,
    mode: 'local',
    triggerAction: 'all',
    emptyText: 'Choose vendor...',
    selectOnFocus: true,
    fieldLabel: 'Vendor Name',
    margin: 10,
    id: 'txtBidVendor',
    labelWidth: 100,
    store: Ext.create('Ext.data.Store', {
        fields: [
            {name: 'vendor_name'}
        ],
        proxy: {
            type: 'ajax',
            timeout: 120000,
            url: 'GetVendors.jsp',
            reader: {
                type: 'json',
                root: 'data',
                successProperty: 'success'
            }
        },
        autoLoad: true
    })
},
{
    xtype: 'combobox',
    displayField: 'rate_desc',
    typeAhead: true,
    mode: 'local',
    triggerAction: 'all',
    emptyText: 'Choose Quality...',
    selectOnFocus: true,
    fieldLabel: 'Vendor Quality',
    margin: 10,
    id: 'txtBidVendorQuality',
    labelWidth: 100,
    store: Ext.create('Ext.data.Store', {
        fields: [
            {name: 'rate_desc'}
        ],
        proxy: {
            type: 'ajax',
            timeout: 120000,
            url: 'GetVendorQuality.jsp?' + Ext.urlEncode({'bid_vendor': Ext.getCmp('txtBidVendor').value}), 
            reader: {
                type: 'json',
                root: 'data',
                successProperty: 'success'
            }
        },
        autoLoad: true
    })
},

我在尝试获取Ext.getCmp('txtBidVendor').value

的行中收到错误

2 个答案:

答案 0 :(得分:1)

您需要提及组合的valueField。这将获取combobox的值。

displayField仅用于提及将要显示的内容。 valueField保留了Ext.getCmp('txtBidVendor').value

将要访问的实际值

答案 1 :(得分:0)

当然你不会得到它。

您必须在第一个组合的select事件侦听器中设置第二个URL。

因为在创建组合之前,您尝试访问组合中设置的值。 如果您有任何默认值至少在加载第一个组合后设置第二个组合URL。