gpt4 book ai didi

javascript - ExtJS:以编程方式替换 ComboBox 中的元素

转载 作者:行者123 更新时间:2023-11-30 18:38:28 24 4
gpt4 key购买 nike

我刚刚输入了另一篇文章,中途我发现了我的问题。让我们看看它是否会再次发生。

如果选择了给定的下拉列表,我需要能够更新另一个下拉列表。我的问题是辅助下拉列表不是第一次加载;页面上没有任何反应。如果用户第二次选择相同的元素,则一切正常。

我正在以编程方式生成一堆组合框:

var item = new Ext.form.ComboBox({
store: store,
id: input.id,
name: input.id,
displayField: 'description',
valueField: 'id',

mode: 'local',
forceSelection: true,
triggerAction: 'all',
emptyText: 'Select one...',
typeAhead: false,
editable: true,
allowBlank: allowBlank,
selectOnFocus:true,
fieldLabel: input.label,
listeners: {
scope: this,
'select': checkDependencies
},
autoHeight: true
});

当我尝试更新从属下拉列表时出现问题。这是当用户选择一个选项时调用的函数:

function checkDependencies(el, ev){
debug(el);
debug(el.value);
var val = el.value;
if (Ext.isArray(dependencies[val])) {
var id = dependencies[val]['changeId'];
var input = Ext.getCmp(id);
var vals = dependencies[val]["vals"];
input.store.removeAll();
gridForm.doLayout();
debug("num elements: " + vals.length);
input.autoHeight = true;
for (var i=0;i<vals.length;i++) {
input.store.add(vals[i]);
}
gridForm.doLayout(false,true);
}
}

它命中所有调试行。列表中有元素,但就像我说的,用户第一次选择一个元素时它不起作用,但随后的选择工作正常。

我最终把 doLayouts 放在了所有地方,但它似乎没有帮助。

最佳答案

尝试在辅助框上设置 queryMode: 'local',并在您的 checkDependencies 中执行 input.lastQuery = ''

关于javascript - ExtJS:以编程方式替换 ComboBox 中的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7532748/

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