2012-10-06 4 views
0

응용 프로그램이 시작될 때 일부 선택 필드를 비활성화하려고합니다. 내 주요 탐색은 탭 패널을 내가이야 설정 여기에 양식이 :이 시도 컨트롤러의 init 함수에서 이제howto는 formpanel을 가져오고 Sencha Touch 2로 selectfields를 비활성화합니다.

{ 
        xtype: 'formpanel', 
        title: 'Einstellungen', 
        iconCls: 'settings', 
        cls: [ 
         'settingsPanel' 
        ], 
        id: 'settingsPanel', 
        ui: 'light', 
        layout: { 
         type: 'vbox' 
        }, 
        scrollable: false, 
        items: [ 
         { 
          xtype: 'selectfield', 
          border: '', 
          cls: [ 
           'name1' 
          ], 
          id: 'name1', 
          labelAlign: 'top', 
          autoCapitalize: false, 
          autoComplete: false, 
          placeHolder: '1. Name eingeben', 
          displayField: 'name', 
          store: 'settingsStore', 
          valueField: 'name' 
         } 

:

var form = Ext.ComponentQuery.query('formpanel'); 
form.getAt(0).disable(); 
form.getAt(1).disable(); 
form.getAt(2).disable(); 

을하지만 수 :

Uncaught TypeError: Object [object Object] has no method 'getAt' 

컨트롤러 내부에서 폼을 가져와 select 필드를 비활성화하려면 어떻게합니까? 범위 문제 일 수 있습니까?

감사합니다.

답변

1

문제점을 해결하고 해결했습니다.

{ 
     xtype: 'fieldset', 
     id: 'abc', // give a unique 'id' to your fieldset 
     items: [ 
       { 
        xtype: 'selectfield', 
        border: '', 
        cls: [ 
         'name1' 
        ], 
        id: 'name1', 
        labelAlign: 'top', 
        autoCapitalize: false, 
        autoComplete: false, 
        placeHolder: '1. Name eingeben', 
        displayField: 'name', 
        store: 'settingsStore', 
        valueField: 'name' 
       } 
      ] 
    } 

controller.js

 launch: function() { 
       console.log("launch"); 
       var form = Ext.getCmp('abc'); // calling fieldset with 'id' 
       console.log('Fetching fieldset...'); 
       form.getAt(0).disable(); 
      } 

희망이 도움이 Nav.js

주 : - 아래 두 코드입니다.

+0

도움 주셔서 감사합니다. 그 지금 일하고있어 라! – Nico