Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 11.09.2009, 14:26
Страдающий
 
Сообщений: n/a

Выпадающие списки - динамика
Люди добрые!!! помогите, кто чем может уже двое суток мучаюсь!
Вот отрывки кода
function load_filter_data(filter_id, dr) {
	drop = document.getElementById(dr);
	AjaxRequest.post({
	'url':'/load_filter_data.php',
	'filter_id':filter_id,
	'onComplete': function (req) {
		  eval("data = " + req.responseText + ";");
		   for (i in options) {
			option = document.createElement("option");
			option.value = i;
			option.label = options[i];
			option.appendChild(document.createTextNode(options[i]));
			drop.appendChild(option);
		}
			}
		});
		return true;
}

и отрывок, который использует данную функцию:
for (i in drops) {
   drop = document.getElementById('filter' + j);
   drop_label = document.getElementById('drop_label' + j);
   drop_label.appendChild(document.createTextNode( drops[i] ));
   drop.style.display = 'block';
   load_filter_data(i,'filter'+j);
   j++; 
   }

Смысл такой, что открывается некое кол-во выпадающих списков в каждый из которых должны быть занесены списки, которые в свою очередь выгребаются и БД. Проблема в том, что если, к примеру, открыто 2 выпадающих списка, то функция load_filter_data к каждому должна подгрузить список. но такое ащущение, что цикл не останавливается и выходит так, что вместо того, чтобы открылся дроп, в него добавился список, потом по циклу следующий... получается так, сначало открываются все дропы, а в последний загоняются все списки... как решить проблему не знаю
Ответить с цитированием
  #2 (permalink)  
Старый 11.09.2009, 16:02
Страдающий
 
Сообщений: n/a

Ещё одно дополнение, добавил алерт в цикл:
for (i in drops) {
   drop = document.getElementById('filter' + j);
   drop_label = document.getElementById('drop_label' + j);
   drop_label.appendChild(document.createTextNode( drops[i] ));
   drop.style.display = 'block';
   load_filter_data(i,'filter'+j);
   j++; 
   }

так работает по правильному алгоритму, но алерт мне там совсем не нужен, как заставить работать цикл в цикле?
Ответить с цитированием
  #3 (permalink)  
Старый 11.09.2009, 16:57
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

Сообщение от Страдающий
как заставить работать цикл в цикле?
Засунуть цикл в цикл
Ответить с цитированием
  #4 (permalink)  
Старый 11.09.2009, 17:06
Страдающий
 
Сообщений: n/a

если внимательно посмотреть на код, там и так цикл в цикле, но дело в том, что они выполняются асинхронно... пока выполняется цикл внутри цикла, первый продолжает работать, а в теории пока внутренний цикл выполняется, внешний должен ждать...
Ответить с цитированием
  #5 (permalink)  
Старый 11.09.2009, 17:08
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Если он будет ждать, браузер зависнет.
Ответить с цитированием
  #6 (permalink)  
Старый 11.09.2009, 17:51
Страдающий
 
Сообщений: n/a

А какой же выход тогда из ситуации?
Ответить с цитированием
  #7 (permalink)  
Старый 11.09.2009, 18:05
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Смотря какая цель.
Ответить с цитированием
  #8 (permalink)  
Старый 11.09.2009, 18:25
Страдающий
 
Сообщений: n/a

Цель такая... есть в БД список категорий, выводится он через выпадающий список... я выбираю категорию и тогда появляются дропы с подкатегориями данной категории, а в каждый из дропов необходимо загрузить список (из БД). это всё должно происходить без перезагрузки страницы. всё работает, но весь список загоняет в последний дроп, т.к. цикл выборки дропов работает намного быстрее, чем аяксовский скрипт по выборке списков
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Динамика. Почему не работает в IE? phpmotor Events/DOM/Window 4 19.01.2013 01:40
Выплывающие списки и обновление текстового поля Gazprom Элементы интерфейса 5 02.08.2009 11:34
Выпадающие списки и запросы к Базе данных Arzobispo Элементы интерфейса 0 21.11.2008 10:15
Расскрывающиеся списки.. lanzs Общие вопросы Javascript 6 01.10.2008 00:57
Выпадающие списки solomusic Ваши сайты и скрипты 3 17.08.2008 16:19