如何将选定的 extjs 组合值设置为另一个组合框
Posted
技术标签:
【中文标题】如何将选定的 extjs 组合值设置为另一个组合框【英文标题】:How to set selected extjs combo value to another combobox 【发布时间】:2013-09-26 13:34:00 【问题描述】:我有两个Extjs Comboboxes
var cb1 = new Ext.form.ComboBox(
fieldLabel: 'Combobox1',
width: 100,
listeners:
scope: this,
'select': this.reset
);
var cb2 = new Ext.form.ComboBox(
fieldLabel: 'Combobox2',
width: 100,
baseParams: loadInitial: true, cb1Val: this.cb1.getValue() // Here I want to get selected value of cb1
listeners:
scope: this,
'select': this.reset
);
我正在使用this.cb1.getValue()
来获取cb1
的选定值,但我在这里得到的是空白值。
谁能告诉我我在这里做错了什么。
【问题讨论】:
【参考方案1】:我认为组合 2 无法获得组合 1 的值,因为当您在 baseParams 中调用它的值时它没有加载。我会在你的情况下推荐这种方法 -
var cb1 = new Ext.form.ComboBox(
fieldLabel: 'Combobox1',
width: 100,
**id : "combo_1",** // ID property added
listeners:
scope: this,
'select': this.reset
);
// Previous code
...
listeners :
select : function(combo, rec, rind)
var combo2_val = Ext.getCmp("id_of_combo_1").getValue();
这里,在第二个组合的选择渲染器上,第一个的值应该设置在combo2_val
中。更准确的说,你也可以给combo 1设置默认值,不使用ID,直接使用变量cb1即可。
希望这能给你一个方法。
【讨论】:
但是我想在加载 cb2 时将 cb1 的选定值传递给 cb2 的基本参数。上述方法将其设置在 cb2 的 select listener 中。以上是关于如何将选定的 extjs 组合值设置为另一个组合框的主要内容,如果未能解决你的问题,请参考以下文章
如果名称中没有 [],ExtJS 组合框仅从 JSON 设置值
Extjs:如何从控制器设置额外参数以在商店中用于填充组合框值。想要将额外参数值设置为 abc.1-cond1、abc.2-con2