2012-01-20 2 views
0

Моя проблема действительно странная. Я работаю в телефоне.Получение и загрузка json из переменной javascript

У меня есть функция под названием «krijgSpellen». Я называю эту функцию, когда «устройство готово», как так:

// Wait for PhoneGap to load 
    // 
    document.addEventListener("deviceready", onDeviceReady, false); 

    // PhoneGap is ready 
    // 
    function onDeviceReady() { 
     readFile(); 

     var options = { frequency: 3000 }; 
     watchID = navigator.geolocation.watchPosition(onSuccess, onError, options); 

     krijgSpellen(); <-- 



    } 

но вот странная часть, когда я делаю это:

function krijgSpellen(){ 


      $.getJSON("gegevens.txt",function(result){ 

// Get all the games 
$.each(result.games, function(){ 
    $(".gamelijst").append("<li><a href='' id=" + this.id + " data-theme='a'>"+ this.game + "</a></li>"); 


       }); 

      $(".gamelijst, $.mobile.activePage").listview('refresh'); 


         }); 
}; 

Это работает, но когда я делаю это:

function krijgSpellen(){ 


     $.each(jsonopgehaald.games, function(){ 
       $(".gamelijst").append("<li><a href='' id=" + this.id + " data-theme='a'>" + this.name + "</a></li>"); 
       }); 

     $(".gamelijst, $.mobile.activePage").listview('refresh'); 

    }; 

Это не работает, и у меня такой же код на гиперссылке, и когда я нажимаю гиперссылку, она действительно работает. И мне действительно нужен метод, в котором он не работает.

Кстати

jsonopgehaald = {"games":[{"id":"2","name":"bartje","photo":"photo2.png","description":"kimpe","length":"is","totalDownloads":"0","totalFinished":"0","locations":[{"id":"3","name":"loc21","photo":"loc21.jpg","description":"loc21","FK_Game_id":"2","lat":"51.0000","long":"4.0000","status":"0"},{"id":"5","name":"loc22","photo":"loc22.jog","description":"locatie 22","FK_Game_id":"2","lat":"51.2330","long":"40.2222","status":"1"}]},{"id":"3","name":"aa","photo":"photo3.jPg","description":"aa","length":"aa","totalDownloads":"0","totalFinished":"3","locations":[{"id":"4","name":"loc4","photo":"loc4.jpg","description":"loc4","FK_Game_id":"3","lat":"51.2191","long":"4.4021","status":"0"}]}]} 

ответ

0

Попробуйте это:

function krijgSpellen(){ 

    $.each(jsonopgehaald.games, function(index, value){ 
      $(".gamelijst").append("<li><a href='' id=" + value.id + " data-theme='a'>" + value.name + "</a></li>"); 
    }); 

    $(".gamelijst, $.mobile.activePage").listview('refresh'); 

}; 

Я проверил его и он работает. Добавлены функции index и value в функцию(). value - ссылка на массив, в котором вы сейчас находитесь.

+0

Спасибо! Оно работает –

Смежные вопросы