Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Массив не заполняется в цикле (https://javascript.ru/forum/misc/18565-massiv-ne-zapolnyaetsya-v-cikle.html)

sslab 06.07.2011 21:38

Массив не заполняется в цикле
 
Доброго времени суток.

Есть проблемка, на решении которой зациклился просто уже. А суть проблемки вот в чем. Есть такой кусок кода:
var card_type_sel = [];
var maxInd = 0;

$(
	function() 
		{
			maxInd = window.frames.length - 1;
				
			list_init();
		}
	);
	
	function list_init()
		{
			for (var i=0; i < maxInd; i++)
				{
					sensor_index = i+1;
					
					if (document.getElementById("id_" +sensor_index+ "") != null)
						{
							var card_type_sel_temp = $(document.getElementById("id_" +sensor_index+ "").contentDocument.getElementById("card_type"));
							card_type_sel[i] = card_type_sel_temp
								.multiselect
									(
										{
											header: "Выберите только одно авто",
											selectedList:1,
											noneSelectedText: 'Выберите авто',
											click: function(e)
												{
													if( $(this).multiselect("widget").find("input:checked").length > 1 )
														{
															alert("Можно выбирать только 1 автомобиль")
															return false;
														}
												}
										}
									)
								.multiselectfilter();
						}
				}
		}


и если далее в какой либо функции использовать массив card_type_sel, то он окажется пуст, но если после строки
var card_type_sel_temp = $(document.getElementById("id_" +sensor_index+ "").contentDocument.getElementById("card_type"));

поставить alert или же на ней в FireBug поставить точку останова и шагать построково, то тогда массив заполнится.
В чем фокус и как решить данную проблему?

Заранее спасибо за советы!

sslab 07.07.2011 21:41

Проблема решена.
Всем спасибо :)

trikadin 07.07.2011 21:45

Да ты оптимист, парень)

sslab 07.07.2011 21:52

Эмм...как связано слово оптимист с тем, что я написал ?

trikadin 07.07.2011 21:58

Не парься, это я так, не очень удачно пошутил. Вообще - ты молодец, что решил свою проблему самостоятельно.


Часовой пояс GMT +3, время: 10:57.