我正在创建一个radiogroup,当它被创建时,我设置了" inputValue"设置字段的值。对于第一个单选按钮,inputValue设置为' I' (for in)和' O' (for out)设置为第二个单选按钮。
如果有人点击了" OUT"收音机,然后会弹出一个窗口并要求他们从组合框中选择一个值。可能的值有' F'' R'或者' T'如果他们选择其中一个,我想修改' OUT' inputValue来反映这一点。因此,当提交表单时,它应该例如发送回F' F' F' F'而不是' O'
以下是单选按钮的代码:
items: [
{
xtype: 'container',
defaultType: 'radiofield',
allowBlank: false,
blankText: 'Required',
hideLabel: true,
layout: 'hbox',
items: [
{
xtype: 'radiofield',
boxLabel: 'IN',
name: 'susceptible_populations_1',
width: 50,
padding: '2 0 0 10',
checked: true,
inputValue: 'I',
id: 'susceptible_populations_1_in'
},
{
xtype: 'radiofield',
boxLabel: 'OUT',
name: 'susceptible_populations_1',
width: 115,
padding: '2 0 0 10',
inputValue: 'O',
id: 'susceptible_populations_1_out',
listeners: {
click: {
element: 'el',
fn: function() {
show_popup_window('susceptible_populations_1_out', '9A(5)');
}
}
}
}
]
}
]
我已经用Google搜索并找到了几个解决方案,但它们似乎都不适合我。所有这些人仍然会回归“O'当我提交表格时。
以下是我的弹出窗口的一些定义:
以下是我正在尝试的一些示例:
Ext.getCmp(FIELD_NAME).setValue(record);
这似乎将收音机的值设置为true。当我点击它时,该值应该已设置为true,因此这是多余的,并且不会将inputValue更改为' F'
Ext.get(FIELD_NAME).set({inputValue:record});
这似乎无能为力。我猜测它是因为要设置某些东西,set
需要一个当前的名称和值,并在匹配时将该实例设置为true。这不是我试图做的事情。
var temp = Ext.get(Ext.ComponentQuery.query('[name=' + TRUNCATED_FIELD_NAME + ']')).getValue().elements[1];
Ext.get(temp).set({value:record});
这里我试图直接访问该元素,它似乎也没有做任何事情。我也尝试了许多不同的先前代码段组合(包括在上面的例子中用TRUNCATED_FIELD_NAME替换了FIELD_NAME),但是收音机的价值总是以' O'。
在Sencha Touch中,似乎有setGroupValue
,但我无法在任何地方的EXT JS 4文档中找到它。 (虽然getGroupValue
按预期工作。)
有人可以就此给我一些指导吗?
非常感谢!
答案 0 :(得分:1)
您可以随时设置配置属性
Ext.getCmp(FIELD_NAME).inputValue = 'F'
只注意不应该使用带有静态ID的getCmp,而是使用ComponentQuery和itemId。