2012-05-23 120 views
0

裏面我得到了類似結果陣列JSON數組

{"ID":1022,"Type":"type1","Name":"name1","Values":[{"ID":3540,"Name":"1"},{"ID":3541,"Name":"2"},{"ID":3542,"Name":"cb"}]} 

等成功我得到的功能類似這樣的

success: function(data) { 
      $.each(data, function() { 
       $('#properties').append(
       this.ID + "," + 
       this.Name + "," + 

       this.type + "," + 
        this.values 
       ); 
      }); 
     } 

但「價值」是另一個數組,所以如何顯示呢?

回答

1
//get the total length of values array. 
this.Values.length; 

for ( var i = 0 ; i < this.Values.length; i++){ 
var resultId= this.Values[i].ID; 
var resultName = this.Values[i].Name; 
} 

這工作。

0

this.values[0].ID可能工作,但是,我不完全確定。儘管如此,我認爲嘗試並沒有什麼壞處。

+0

不工作試圖this.values [0] .ID和這樣的:爲了一個變量傳遞給函數在創建時,而不是當它被調用時,你應該有這樣的另一個函數把它包.values.lenght –

1

我相信this.Values[0].ID應該正確返回第一個元素的ID。

您也可以遍歷數組中的每個項目並以相同的方式訪問它。

for (var i = 0; i < this.Values.length; i++) { 
    alert(this.Values[i].ID); //Show an alert for each ID. 
} 
+0

不工作試了this.values [0] .ID和this.values.lenght –

+0

我做了一個小的改變,使用this.values [我]現在應該工作。 – webnoob

+0

是它的工作,它與我測試的Bilal答案相同! –

0

我不太確定這是什麼價值在最內層的功能,但它可能不是你想要的。

{ 
    success: function(data) { 
     $.each(data, (function(dat) { return function(index, value) { 
      $('#properties').append(
       value.ID + "," + 
       value.Name + "," + 
       dat.type + "," + 
       dat.values 
      ); 
     };) (data)); 
    } 
};