Javascript.RU

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

Изменение переменной в функции
Есть такой скрипт

var types = ''
$.getJSON('/ajax/types/', function(data){
   $.each(data, function (key, value) {
       types += '<option value="' + value[0] + '">' + value[1] + '</option>'
   })
})
alert(types)


проблема в том, что alert(types) выводит пустую строку. В JavaSript основательно разбираться времени нет, подскажите, пожалуйста, что с этим делать?
Заранее спасибо.
Ответить с цитированием
  #2 (permalink)  
Старый 15.09.2011, 18:43
Профессор
Отправить личное сообщение для DjDiablo Посмотреть профиль Найти все сообщения от DjDiablo
 
Регистрация: 04.02.2011
Сообщений: 1,815

alert (types) срабатывает до того как getJSON вызовет callback
Иными словами происходит так

1) ты делаешь запрос, по окончанию которого должна вызываться функция function(data){}.
2) Ты показываешь пустую пока ещё types
3) getJson наконец получает данные и вызывается функция function(data){}. которая заполняет types.

поставь alert(types) после each, всё должно быть нормально.
__________________
Лучше калымить в гандурасе чем гандурасить на колыме

Последний раз редактировалось DjDiablo, 15.09.2011 в 18:50.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
изменение значения глобальной переменной внутри функции mgmarket Серверные языки и технологии 14 13.09.2011 00:56
изменение переменной в функции ananax Общие вопросы Javascript 19 12.01.2011 12:09
Изменение и отображение значения переменной по клику Allan Stark Общие вопросы Javascript 1 25.04.2010 15:50
изменение текущего контекста функции vkovalev jQuery 13 16.03.2009 12:52
изменение переменной Ilja_ORDY Общие вопросы Javascript 3 09.09.2008 18:56