1

我有一个带有 2 个 DropDownBoxes 的程序,其中 1 个下拉框值取决于第一个值(用户值)。

我的问题是我尝试从一个下拉框中获取该值,但我得到“无法获得未定义的值”。

这是代码:

{
    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

4

2 回答 2

1

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

displayField仅用于提及将显示的内容。valueField 保留将被访问的真实值 Ext.getCmp('txtBidVendor').value

于 2013-10-17T11:14:12.297 回答
0

你当然不会得到它。

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

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

于 2013-10-16T18:01:55.197 回答