美好的一天! 我尝试编写方法,当单击按钮时,在窗体上的元素上设置(true或false)readOnly选项:
Ext.override(Ext.form.Panel,{
setReadOnly: function(bReadOnly) {
this.items.each(function(f){
if (f instanceof Ext.form.FieldSet) {
f.items.each(function (f) {
if (f.isFormField) {
if (bReadOnly === true) {
f.inputEl.dom.setAttribute('readonly', true);
} else {
f.inputEl.dom.removeAttribute('readonly');
}
if (f instanceof Ext.form.TriggerField)
{
f.setDisabled(bReadOnly);
if (f instanceof Ext.form.ComboBox)
{
f.setEditable(bReadOnly);
}
}
}
});
}
});
});
在文本字段中,此代码非常完美。但是在TriggerField上我无法显示触发器,在false中设置readOnly选项时可以帮助我吗?
答案 0 :(得分:1)
您可能需要TriggerField setReadonly方法
请参阅此处的API参考:http://docs.sencha.com/ext-js/3-4/#!/api/Ext.form.TriggerField-method-setReadOnly
您不需要手动更改DOM,可以使用ExtJs方法来执行您需要的操作。
此外,您可以使用Panel findByType方法获取面板中的所有表单字段。
http://docs.sencha.com/ext-js/3-4/#!/api/Ext.form.FormPanel-method-findByType