combobox появляется только после физического открытия в браузере 
		
		
		
		Создаю store беру в него все данные. Так с каждым из 4-х combobox. 
	Затем вешаю на событие селект одного комбобокса фильтр другого (дочернего) комбобокса. Все это работает только после того как я открыл комбобоксы и увидел в них данные. Пока я не трогал комбобоксы - выбираю в родительском какой-то пункт и открываю дочерний - и в нем все по умолчанию, не отфильтровано. Но если я открыл и закрыл один комбо и второй, а потом выбрал пункт в первом комбо - то фильтр работает. Такое впечатление, что комбо на экране есть, но их пока нет, нет у них store, а появляется, только если открыть комбо. Подскажите что сделать чтобы при открытии страницы в браузере комбо инициализировались сразу вместе с store ? Заранее спасибо! Вот код: 
Ext.onReady(function(){
	obj.init();
})
var obj = {
	body: '',
	ostore: {},
	init: function(){
		this.body = Ext.get('widget');
		this.makeData();
		this.CreateStoreAndCombo('country');
		this.CreateStoreAndCombo('okrug');
		this.CreateStoreAndCombo('oblast');
		this.CreateStoreAndCombo('city');
	},
	makeData: function(){
		obj.StoreObj = new Ext.data.JsonStore({
			fields:	['pid', 'type', 'lexicon_key', 'lctn_name'],
			root: 'data',
		});
		Ext.Ajax.request({
			url: '/assets/components/cuz_regions/connector.php?action=getall',
			method : 'POST',
			success : function(response) {
				var responseData = Ext.util.JSON.decode(response.responseText);
				obj.StoreObj.loadData(responseData);
			},
			failure: function(){
				alert('Error!');
			}
		});
	},
	CreateStoreAndCombo: function(name){
		switch (name) {
				case 'country':
					var child = 'okrug';
					var emptyText = 'Выберите страну';
					break;
				case 'okrug':
					var child = 'oblast';
					var emptyText = 'Выберите округ';
					break;
				case 'oblast':
					var child = 'city';
					var emptyText = 'Выберите область';
					break;
				case 'city':
					var emptyText = 'Выберите город';
					break;
            }
		
		obj.ostore[name] = Ext.apply({}, this.StoreObj);
		//obj.ostore[name].load();
		new Ext.form.ComboBox({
			renderTo: this.body,
			id:'combo_' + name,
			width:300, 
			typeAhead: true,
			autoLoad: true,
			mode: 'local',
			triggerAction: 'all',
			emptyText: emptyText,
			selectOnFocus: false,
			editable: true,
			valueField:'lexicon_key',
			displayField:'lctn_name',
			enableKeyEvents: true,
			store: obj.ostore[name],
			listeners: {
				scope: obj,
				select: {
					fn:function(combo, value) {
						if (name != 'city') {
							var combo_obj = Ext.getCmp('combo_' + child);
							alert('combo_' + child);
							var rrr2 = new RegExp("^" + combo.getValue() + "$", "");
							combo_obj.store.filter('pid', rrr2);
							alert(rrr2);
						}
					}
				}
			}
		});
	}
}
То есть все работает, но у комбобоксов нет хранилищей (и соответственно данных) пока их не открыть. Как бы сделать чтобы были хранилища с данными изначально. Спасибо!  | 
	
		
 var combo = new Ext.form.ComboBox({ ..... 
	combo.on('afterrender', function() { combo.store.load(); }); Как то так  | 
	
		
 Цитата: 
	
 combo.store.load(); я пробовал так, но он ругается что нет прокси: т.е. хочет подгрузить стору с нуля. А у меня скрипт заточен на то, что стора берется сначала а потом с готовой продолжается работа (копируется, фильтруется). Есть какие то функции для инициализации сторы а не для загрузки ее снова с сервера? Спасибо!  | 
	
		
 чего то у тебя все крикись накись, зачем заполнять jsonstore через аякс вызов? 
	
new Ext.data.JsonStore({
		root		:'data',
		totalProperty	:'total',
		fields:[
		    { name:'id', type:'int' }....
		],
		url: '/assets/components/cuz_regions/connector.php?action=getall'
	    })
 | 
	
		
 Цитата: 
	
 Проблема осталась актуальна до сих пор. Даже не представляю что искать, и в чем затык. Толи события отрабатываются пока еще нет для них объекта. Толи надо найти какой-то метод для сторы или для комбо (тоже не ясно)...... Неужели никто не сталкивался?  | 
	
		
 а вы ставили в JsonStore  
	autoLoad: true ?  | 
	
		
 я что-то не понял, вы загружаете все данные и потом сортируете на клиенте в зависимости от выбора из родительских комбобоксов?  
	Мы на нашем проекте делали не так. Сначало загружается первый комбобоксс, в нём выбираем значение, после выбора отправляем запрос серверу с параметрами который выбрал пользователь и приходят данные для второго комбобокса, и т.д. до четвёртого 
obj.StoreObj = new Ext.data.JsonStore({
            fields: ['pid', 'type', 'lexicon_key', 'lctn_name'],
            root: 'data',
        });
вот это не будет работать в IE любой версии. Т.к. запятая после 'data' лишняя  | 
| Часовой пояс GMT +3, время: 11:35. |