Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 25.11.2011, 19:18
Аспирант
Отправить личное сообщение для Bkmz_1_ Посмотреть профиль Найти все сообщения от Bkmz_1_
 
Регистрация: 03.12.2009
Сообщений: 56

Функции в контролере
Объясните пожалуйста что за фокусы с функциями в контролере?

Вот контролер

Ext.define('MyApp.controller.Wrapper', {
    extend: 'Ext.app.Controller',

	stores: [
        'RegionStore',
        'CityStore'
    ],
	
	views: [
        'Wrapper'
    ],
	
    init: function() {
	    
       this.control({
		    
            '#combo-region': {
                select: this.onRegionSelect
            },
			'#combo-city': {
                select: this.onCitySelect
            }

        });
		
    },
    
    onRegionSelect: function(combo) {
	    //не работает
		Ext.widget('wrapper').down('#combo-city').clearValue();
		//работает
        Ext.widget('wrapper').down('#combo-city').store.clearFilter();
		//работает
        Ext.widget('wrapper').down('#combo-city').store.filter('cid', combo.getValue());
    },
	
	onCitySelect: function() {
	    //не работает
	    Ext.widget('wrapper').down('#button-select-city').enable();
    }
	
});


Архив с проектиком креплю ниже
Вложения:
Тип файла: zip 1.zip (1.80 Мб, 0 просмотров)

Последний раз редактировалось Bkmz_1_, 26.11.2011 в 16:46.
Ответить с цитированием
  #2 (permalink)  
Старый 26.11.2011, 16:45
Аспирант
Отправить личное сообщение для Bkmz_1_ Посмотреть профиль Найти все сообщения от Bkmz_1_
 
Регистрация: 03.12.2009
Сообщений: 56

Вообщем это должо выглядеть так:

Ext.define('MyApp.controller.Wrapper', {
    extend: 'Ext.app.Controller',

	stores: [
        'RegionStore',
        'CityStore'
    ],
	
	views: [
        'Wrapper'
    ],
	
    init: function() {
	    
       this.control({
		    
            '#combo-region': {
                select: this.onRegionSelect
            },
			'#combo-city': {
                select: this.onCitySelect
            }

        });
		
    },
    
    onRegionSelect: function(combo) {
        var cityCombo = combo.up('panel').down('#combo-city');
        cityCombo.clearValue();
        cityCombo.store.clearFilter();
        cityCombo.store.filter('cid', combo.getValue());
    },
	
	onCitySelect: function(combo) {
        var buttonSelectCity = combo.up('panel').down('#button-select-city');
        buttonSelectCity.enable();
    }
	
	
});

Последний раз редактировалось Bkmz_1_, 27.11.2011 в 02:57.
Ответить с цитированием
  #3 (permalink)  
Старый 27.11.2011, 02:57
Аспирант
Отправить личное сообщение для Bkmz_1_ Посмотреть профиль Найти все сообщения от Bkmz_1_
 
Регистрация: 03.12.2009
Сообщений: 56

Или вот так var cityCombo = Ext.getCmp('wrapper').down('#combo-city');
getCmp() ищет компонет по прописанному в нем id='wrapper', наверное так даже лучше
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Установить имя конструктора Андрей Параничев Общие вопросы Javascript 8 17.11.2011 10:09
Как в браузерах реализуются функции DOM (например createElement) iamme Общие вопросы Javascript 7 02.09.2011 20:26
динамическое содержимое функции alfmaster Общие вопросы Javascript 2 28.05.2011 17:10
arguments вызвавшей функции mister_maxim Общие вопросы Javascript 4 12.10.2010 16:21
Подскажите, как работает простой код (замыкание функции)? Dotod Общие вопросы Javascript 5 02.12.2009 04:03