Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 11.09.2010, 19:53
Интересующийся
Отправить личное сообщение для psyhonut Посмотреть профиль Найти все сообщения от psyhonut
 
Регистрация: 30.08.2010
Сообщений: 23

Дождаться выполнение запроса.
function chn(objct) {
            var di_nas_punkt_id = $(objct).val();
            if (di_nas_punkt_id == '0') {
                $('#di_areas_id').html('');
                $('#di_areas_id').attr('disabled', true);
                return(false);
            }
            $('#di_areas_id').attr('disabled', true);
            $('#di_areas_id').html('<option>загрузка...</option>');
            var url = '<?php echo $_SERVER['REQUEST_URI'],'&from=areas'; ?>';
            
            $.get(
                url,
                "nas_punkt_id=" + di_nas_punkt_id,
                function (result) {
                    var options = '<option value="0"><?=_l_okrug_create_ar_select;?></option>';
                    $(result.areas).each(function() {
                        options += '<option value="' + $(this).attr('id') + '">' + $(this).attr('title') + '</option>';
                    });
                    $('#di_areas_id').html(options);
                    $('#di_areas_id').attr('disabled', false);
                },
                "json"
            );
        };

Данный скрипт делает мне набор опций, которые по аджаксу получаются из файла.
После выполнения этого кода мне надо сделать выбранным определенный пункт меню.
Делается так:
загружаю список
chn($('#di_nas_punkt_id'));

И выбираю элемент
$('#di_areas_id').val(<?=$sel_area;?>);

Элемент не выбирается, так как на момент выполнения кода
$('#di_areas_id').val(<?=$sel_area;?>);
список почему-то еще пустой.

Как мне дождаться выполнения кода и заполнения списка, и только потом продолжать работу JS?
Ответить с цитированием
  #2 (permalink)  
Старый 11.09.2010, 20:06
Новичок
Отправить личное сообщение для inGray Посмотреть профиль Найти все сообщения от inGray
 
Регистрация: 03.08.2010
Сообщений: 230

Можно делать синзронный AJAX запрос или проверять заполнен ли список.
__________________
Не хочешь, чтобы тебя послали? Не спрашивай куда идти.
Ответить с цитированием
  #3 (permalink)  
Старый 12.09.2010, 02:57
Интересующийся
Отправить личное сообщение для psyhonut Посмотреть профиль Найти все сообщения от psyhonut
 
Регистрация: 30.08.2010
Сообщений: 23

Что за синхронный запрос?
Если делать проверкой заполнен ли список, то ее в цикле делать, как думаете?
Ответить с цитированием
  #4 (permalink)  
Старый 12.09.2010, 03:12
Новичок
Отправить личное сообщение для inGray Посмотреть профиль Найти все сообщения от inGray
 
Регистрация: 03.08.2010
Сообщений: 230

Не в цикле, а при помощи setTimeout или setInterval
__________________
Не хочешь, чтобы тебя послали? Не спрашивай куда идти.
Ответить с цитированием
  #5 (permalink)  
Старый 12.09.2010, 10:15
Интересующийся
Отправить личное сообщение для psyhonut Посмотреть профиль Найти все сообщения от psyhonut
 
Регистрация: 30.08.2010
Сообщений: 23

Потом так и подумал. Поищу.
Не силен в js аж вообще.
Ответить с цитированием
  #6 (permalink)  
Старый 12.09.2010, 11:00
Аватар для micscr
Профессор
Отправить личное сообщение для micscr Посмотреть профиль Найти все сообщения от micscr
 
Регистрация: 10.09.2009
Сообщений: 1,578

$('#di_areas_id').html(options);
   $('#di_areas_id').attr('disabled', false);
   // тут надо делать
   $('#di_areas_id').val(<?=$sel_area;?>);


про синхронный запрос не слушай - херня это.
Ответить с цитированием
  #7 (permalink)  
Старый 12.09.2010, 12:25
Интересующийся
Отправить личное сообщение для psyhonut Посмотреть профиль Найти все сообщения от psyhonut
 
Регистрация: 30.08.2010
Сообщений: 23

Отлично. Все работает. С меня пиво :-)
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с событиями после ajax запроса Mirgorod AJAX и COMET 5 12.06.2010 18:24
отмена запроса HelpeR AJAX и COMET 5 16.02.2010 16:24
Сохранение результата ajax запроса после нажатия 'back' gregOlsen AJAX и COMET 5 18.11.2009 12:23
Выполнение javascript из строки запроса браузера Freund Javascript под браузер 2 08.09.2009 07:25
Как "подождать" выполнение асинхронного запроса? WalterScott AJAX и COMET 25 05.06.2009 12:18