启用/禁用复选框选择上的文本字段 ExtJS

mik*_*the 5 checkbox extjs

我正在使用 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)