Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Изменение переменной в функции (https://javascript.ru/forum/misc/21575-izmenenie-peremennojj-v-funkcii.html)

Radmir 15.09.2011 17:28

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

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 основательно разбираться времени нет, подскажите, пожалуйста, что с этим делать?
Заранее спасибо.

DjDiablo 15.09.2011 18:43

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

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

поставь alert(types) после each, всё должно быть нормально.


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