在我们的应用程序中,我们有一个文本字段和一个复选框。默认情况下,textfield应该是只读的。每当选中复选框时,文本字段应该是可编辑的。
我们能够做到上述要求。但是我们还必须以这样的方式显示文本字段,使用者在只读时会觉得无法编辑它。
我们使用以下代码:
{
xtype:'textfield',
id:'textfieldid',
readOnly:true,
fieldCls:'x-item-disabled'
...
}
{
xtype:'checkbox',
listeners:{
change:function(thisCmp,newValue,oldValue){
if(newValue==true){
Ext.getCmp('textfieldid').addCls('x-item-disabled');
} else {
Ext.getCmp('textfieldid').removeCls('x-item-disabled');
}
}
}
}
但有些我怎么也无法让它发挥作用。
有人可以建议解决方法吗?
其实我需要提交该字段。如果禁用,则不会提交该字段。所以我尝试动态设置fieldCls。
答案 0 :(得分:2)
你不能使用setDisabled
的{{1}}方法吗?
Ext.form.field.Text
并且也没有将{
xtype:'checkbox',
listeners:{
change:function(thisCmp,newValue,oldValue){
Ext.getCmp('textfieldid').setDisabled(newValue);
}
}
}
指定为将由fieldCls:'x-item-disabled'
方法自动管理的TextField的配置,如果您想最初将文本字段呈现为已禁用,则可以使用{{1}在这样的配置中
setDisabled
另一种选择:
你最初使用fieldCls属性来指定禁用类,这可能是错误的,而你可以做这样的事情
disabled : true