2012-05-23 119 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)); 
    } 
};