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