ExtJS中选项卡的从属组合框未触发

ExtJS中选项卡的从属组合框未触发,extjs,extjs3,Extjs,Extjs3,我有一个make和一个model组合框。当用户选择make时,“make”组合将加载信息。问题是,当用户从组合框中弹出标签时,它不会触发。当他们按enter键或用鼠标从列表中选择一个项目时,它确实起作用。下面是我们为make combo提供的内容: new Ext.form.ComboBox({ id: 'ddlMake', store: makeStore, displayField: 'Description', valueField: 'MakeOid',

我有一个make和一个model组合框。当用户选择make时,“make”组合将加载信息。问题是,当用户从组合框中弹出标签时,它不会触发。当他们按enter键或用鼠标从列表中选择一个项目时,它确实起作用。下面是我们为make combo提供的内容:

new Ext.form.ComboBox({
    id: 'ddlMake',
    store: makeStore,
    displayField: 'Description',
    valueField: 'MakeOid',
    width: 175,
    typeAhead: true,
    mode: 'local',
    forceSelection: true,
    triggerAction: 'all',
    emptyText: 'Select a make',
    selectOnFocus: true,
    allowBlank: false,
    listeners:
        {
            select: function(combo, record, index) {
                LoadModelCombo(combo, record, index);
                FillAircraftType();
            }
        }

使用combobox组件的forceSelectionconfig属性,这将允许您实现所需。剩下的你可以看到这个配置的sencha文档,这里是我最后使用的。我同时使用了选择和更改:

new Ext.form.ComboBox({
    id: 'ddlMake',
    store: makeStore,
    displayField: 'Description',
    valueField: 'MakeOid',
    width: 175,
    typeAhead: true,
    mode: 'local',
    forceSelection: true,
    triggerAction: 'all',
    emptyText: 'Select a make',
    selectOnFocus: true,
    allowBlank: false,
    listeners: {
        select: function (combo, record, index) {
            LoadModelCombo(combo, record, index);
            FillAircraftType();
        },
        change: function (combo, record, index) {
            LoadModelCombo(combo, record, index);
            FillAircraftType();
        }
    }
}),

如果您使用此字段的值作为模型组合的源,为什么不关注
change
事件而不是
select
事件?文档有点混乱,这意味着这只在调用
setValue
方法时触发,但它也会在用户在UI中的选择时触发。那么您是说默认侦听器仅用于选择事件?我想我真正需要的是听blur的歌。ExtJS中的等价物是什么?非常感谢您的帮助。我不知道您所说的“默认侦听器”是什么意思。根据您的描述,您应该对更改事件而不是选择事件感兴趣。看起来,即使make组合从未失去焦点,您也会对更新模型组合的UI感兴趣,因此模糊可能不是最佳选择。