2012-05-31 118 views
0

美好的一天! 我嘗試寫方法,其中規定對錶格中的元素(true或false)readonly選項,當按鈕點擊:Extjs設置只讀按鈕時點擊

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上,我無法顯示觸發器,當設置readOnly選項爲false時,可以有人幫助我嗎?

回答

1

你可能想的TriggerField setReadonly方法

看到這裏的API參考:http://docs.sencha.com/ext-js/3-4/#!/api/Ext.form.TriggerField-method-setReadOnly

您shoudln't需要手動更改DOM,有可用做你需要什麼ExtJS的方法。

此外,您可以使用面板findByType方法獲取面板內的所有表單域。

http://docs.sencha.com/ext-js/3-4/#!/api/Ext.form.FormPanel-method-findByType

+0

非常感謝您的配合!我出於某種原因找不到這種方法! – vedmed