如何在ExtJS中禁用文本字段的inputEl?

时间:2013-01-31 11:47:50

标签: javascript extjs

我正在使用ExtJS,我有一个textfield组件。 我想只禁用文本域组件的inputEl(而不是标签)。

如果我使用文本字段的setDisabled()方法,那么它会将inputEl设置为禁用标签。

我还使用了setReadOnly()方法,但它并没有使inputEl变灰,只设置为ReadOnly

有没有办法只禁用文本域组件的inputEl

感谢您的帮助。

2 个答案:

答案 0 :(得分:2)

您必须将自定义类设置为disabledCls

.ux-item-disabled .x-form-field, .ux-item-disabled .x-form-display-field, .ux-item-disabled .x-form-trigger {
   filter: alpha(opacity=30);
   opacity: .3;
}

参见 JSFiddle

答案 1 :(得分:0)

我从Sencha论坛得到了另一个答案(我觉得在这里发布也可能很有意思)  的解决方案

使用 setOpacity 方法

Ext.onReady(function () {
var panel =Ext.create('Ext.form.Panel', {
    title: 'Basic Form',
    renderTo: Ext.getBody(),
    bodyPadding: 5,
    width: 350,
    items: [{
        xtype: 'textfield',
        fieldLabel: 'Field',
        name: 'theField',
      disabled: true
    }]        
});

 panel.down('[xtype=textfield]').labelEl.setOpacity(1); });