2013-10-25 68 views
0

在PHP文件,我有以下概念:如何foreach數組中的很多對象 - jQuery的?

[ { 「id_enumeration」:

// return assoc 
$res = DBQUERY; 
foreach ($res as $key => $value) { 
$retval[$cnt] = array("id_enumeration" => $key, "display_value" => $value); 
$cnt++; 
} 
echo json_encode($retval); 

在成功的結果,我在Firebug 數組對象像這樣的有3602 ,「display_value」:「Test1」}, {「id_enumeration」:3604,「display_value」:「Test2」}, {「id_enumeration」:3605,「display_value」:「Test3」}, {「id_enumeration」: 3607,「displ ay_value 「: 」TEST4「},{ 」 id_enumeration「:3610, 」DISPLAY_VALUE「: 」TEST5「} ]

我試圖通過foreaching執行此代碼:

success: function(data) { 
    // get array: 
    $.each(data, function(idx, obj) { 
     // get each object: 
     $.each(obj, function(key, value) {  
     console.log("Display value: " + value.display_value + " ID enumeration: " + value.id_enumeration);        
     }); 
    }); 
} 

但console.log中的變量是undefined。如何在數組中的每個對象?什麼是最好的方式來做到這一點?

回答

4

obj這是它具有display_value財產對象的數組,這樣你就可以在第一$.each()循環通過obj.display_value訪問它,就沒有必要對第二個

$.each(data, function(idx, obj) { 
     console.log("Display value: " + obj.display_value + " ID enumeration: " + obj.id_enumeration);        
    }); 

演示:Fiddle

+0

'$。每個(數據,功能(IDX,OBJ){\t \t \t \t \t \t \t的console.log( 「顯示值:」 + obj.display_value + 「ID枚舉:」+ obj.id_enumeration); });' 仍未定義。 – RePRO

+0

@RePRO在行動中看到它http://jsfiddle.net/arunpjohny/8JGPw/1/ –

+0

現在工作...我的錯誤,被遺忘的數據類型:「json」。 – RePRO