我正在使用FormPanel内的xtype在extJS 4中创建一个radioGroup。我正在尝试在检查无线电时启用/禁用文本字段。
{
xtype: 'radiogroup',
fieldLabel: 'Enable / Disable ',
columns: 2,
vertical: true,
items: [
{boxLabel: 'Enable', name: 'formtype', inputValue: '1'},
{boxLabel: 'Disable', name: 'formtype', inputValue:'2',checked:true},
]
}
我很困惑在哪里添加检查/点击事件的监听器。非常感谢。
答案 0 :(得分:11)
您必须在每个单选按钮上处理“更改”事件。单选按钮更改(选中)后,启用/禁用文本字段。
举个例子:
Ext.create ('Ext.container.Container', {
renderTo: Ext.getBody () ,
items: [{
xtype: 'textfield' ,
id: 'tf' ,
disabled: true ,
fieldLabel: 'My Text'
} , {
xtype: 'radiogroup',
fieldLabel: 'Enable / Disable ',
columns: 2,
vertical: true,
items: [{
boxLabel: 'Enable',
name: 'formtype' ,
inputValue: '1' ,
listeners: {
change: function (cb, nv, ov) {
if (nv) Ext.getCmp('tf').enable ();
}
}
} , {
boxLabel: 'Disable',
name: 'formtype',
inputValue:'2',
checked: true ,
listeners: {
change: function (cb, nv, ov) {
if (nv) Ext.getCmp('tf').disable ();
}
}
}]
}]
});
侨
答案 1 :(得分:2)
如果您在广播组本身(而不是每个按钮)上设置了侦听器更改事件,则只需处理一个事件。您的侦听器/处理程序将被调用并传递newVal
和oldVal
。然后,您可以将newVal
作为所选值。