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