我正在使用ExtJS 3,并且在选择/取消选择复选框时需要启用/禁用特定的文本字段,如以下示例所示:
{
fieldLabel: 'myCheckBox'
xtype: 'checkbox',
name: 'myCheckBox'
},{
fieldLabel: 'myTextField'
xtype: 'textfield',
name: 'myTextField',
disabled: true
}
据我了解,我必须在'myCheckBox'中使用监听器,如下所示:
listeners: {
change: function() {
}
}
但是我不知道要将哪些参数传递给我的函数,以及如何将'
myTextField
'和.enable()
.disable()
定位到我的函数。你能帮我么?非常感谢你。基于答案的解决方案(谢谢):
listeners: {
change: function(cb, checked) {
Ext.getCmp('myTextField').setDisabled(!checked);
}
}
并将id标签添加到textfield组件中,如下所示:
id: 'myTextField'
最佳答案
如果您不确定将什么作为参数传递,则Ext.getCmp()将为您提供组件。它以组件的id为参数。在您的情况下,您必须将id分配给文本字段,并可以在更改事件时将其获取为Ext.getCmp('myTextField')。其中myTextField是文本字段的ID。组件的名称和ID可以相同。
listeners: {
change: function() {
Ext.getCmp('myTextField').disable();
//or
Ext.getCmp('myTextField').enable();
}
}