Это проблема синхронизации Syn c vs Asyn c, запустите ее и посмотрите, сколько времени задействовано.
var price = 0;
$.getJSON( "http://localhost/temple/price.php?name="+nameofselectedsublist, function( data){
console.log('I RECIEVED THE DATA - async')
$.each( data, function( key, val ) {
price = data[key].price;
console.log(price);
});
});
console.log(price + "Outside ");
console.log("I'm done running my script... sync");
Когда console.log(price + "Outside ");
price
равно 0; так как вызов $ .get JSON еще не вернул результат ...
Я нашел эту статью , которая может помочь немного разобрать вещи.