gpt4 book ai didi

javascript - ExtJs组合强制选择第一项(带有示例代码)

转载 作者:行者123 更新时间:2023-11-28 10:18:52 25 4
gpt4 key购买 nike

我有一个组合 B,它由其他组合 A 加载(由“选择”监听器触发)
填充 B 后,我会看到所有项目,但现在可以从组合 B 的下拉列表中看到,
我被迫用鼠标选择第一个项目
我只能通过输入
来选择其他项目
请帮忙!!!

组合 A 的代码


{
xtype: 'combo',
displayField: 'value',
emptyText: 'Please select A first',
fieldLabel: 'Combo A',
id: 'comboA',
maxHeight: 240,
mode: 'local',
triggerAction: 'all',
typeAhead: true,
typeAheadDelay: 100,
valueField: 'id',
store: new Ext.data.JsonStore({
url: '/cgi-bin/server.cgi',
fields: ['id', 'name'],
baseParams: {
action: 'getAList'
},
autoLoad: true,
root: 'aList'
}),
listeners: {
'select': {
fn: function(){
var comboB = Ext.getCmp('comboB');
comboB.clearValue();
comboB.store.removeAll();
comboB.store.reload({
params: {
id: this.getValue()
}
})
}
}
}
}


组合 B 的代码:


{
xtype: 'combo',
displayField: 'item',
editable: true,
emptyText: 'Select a Combo A first',
fieldLabel: 'Combo B',
id: 'comboB',
lazyInit: true,
maxHeight: 240,
mode: 'local',
triggerAction: 'all',
typeAhead: true,
valueField: 'id',
width: 220,
store: new Ext.data.JsonStore({
url: '/cgi-bin/server.cgi',
root: 'bList',
autoLoad: false,
fields: ['id,', 'item'],
baseParams: {
action: 'getBList'
},
listeners: {
'beforeload': function(){
Ext.getCmp('comboB').disable();
},
'load': function(){
Ext.getCmp('comboB').enable();
}
}
})
}

最佳答案

不确定这里到底出了什么问题,但我怀疑您的comboA中的这一部分没有按预期被解雇 -

comboB.store.reload({
params: {
id: this.getValue()
}
})

所以comboB仍然被禁用。当您单击comboB触发器时,它会加载商店,并且comboB的商店的加载监听器将按预期启动以启用组合。

尝试添加一些调试语句或单步执行上面的代码段。

关于javascript - ExtJs组合强制选择第一项(带有示例代码),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5993452/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com