2012-08-26 20 views
0
$.getJSON("Index/Locations_By_Ratings",function (data) { 
    $('#LocationsContainer').html(''); 
    for (var i = 0; i < data.length; i++) 
    { 
     $.getJSON('Index/Get_Board_Type',{id:data[i].board_type},function (board_type) { 
      var Board = board_type['board_types']; 
     }); 
     $('#LocationsContainer').append('<div class="LocationBox">\ 
              <div class="left">\ 
              <div class="LocationRow"><b>Board Type</b> : '+Board+'</div>\ 
              <div class="LocationRow"><b>Area</b> : '+data[i].location+'</div>\ 
             </div>'); 
    } 
}); 

,在第二個呼叫IAM使用第一個電話board_types ID獲得主板類型的名字,我想打印VAR板。PHP的jQuery多的getJSON不工作IAM做的事情在第一次調用IAM越來越board_types ID撥錯

回答

0

我看到你的代碼3個問題:

  • 的getJSON是異步的:你從服務器(在董事會尚未填寫)
  • 董事會得到答案之前,代碼被執行後,剛一個局部變量,不可見的回調外,你給的getJSON
  • 執行回調時i已經改變了(記住:是的getJSON異步)

您可以這樣做:

$.getJSON("Index/Locations_By_Ratings",function (data) { 
    $('#LocationsContainer').html(''); 
    for (var i = 0; i < data.length; i++) 
    { 
     var theData = data[i]; 
     $.getJSON('Index/Get_Board_Type', {id:theData.board_type},function (board_type) { 
      var Board = board_type['board_types']; 
      $('#LocationsContainer').append('<div class="LocationBox">\ 
               <div class="left">\ 
               <div class="LocationRow"><b>Board Type</b> : '+Board+'</div>\ 
               <div class="LocationRow"><b>Area</b> : '+theData.location+'</div>\ 
              </div>'); 
    });} 
}); 
+0

其不工作sir –

+0

可能存在其他錯誤。我建議你嘗試[在Chrome瀏覽器中逐行刪除它](http://odetocode.com/blogs/scott/archive/2012/03/13/debugging-javascript-with-chrome.aspx)。 –

+0

您的權利先生我發現了另一個錯誤,現在它的工作很好,先生謝謝你的sugest .. –