2013-10-23 54 views
3

試圖遍歷並從以下對象中獲取的key/value值進行迭代:

var schedules = { 
    "0": { 
     "STAGE1": "1/2/13", 
     "STAGE2": "2/12/13" 
    }, 
    "1": { 
     "STAGE1": "2/4/13", 
     "STAGE2": "3/9/13" 
    } 
    "2": { 
     "STAGE1": "4/13/13", 
     "STAGE2": "5/21/13" 
    } 
} 

有以下的jQuery:

$.each(schedules, function(index) { 

    $.each(schedules[index], function(key, value) { 
     $("ul#list").append("<li>" + key + " " + value + "</li>"); 
    }); 

}); 

使我結束了一個簡單的列表:

  • STAGE1 13年1月2日
  • STAGE2 13年2月12日
  • STAGE1 13年2月4日
  • STAGE2 13年3月9日
  • STAGE1 13年4月13日
  • STAGE2 13年5月21日

我似乎沒有被使用$ .each()正確...我做錯了什麼?謝謝!

+0

你爲什麼不使用數組? –

+0

這是我得到的數據結構,所以我沒有選擇更改它。 – sakeferret

+0

http://jsfiddle.net/fJ3M3/ – megawac

回答

8

簡單的語法錯誤:http://jsfiddle.net/46bv5/

"1": { 
    "STAGE1": "2/4/13", 
    "STAGE2": "3/9/13" 
}, //need a comma here 
"2": { 
    "STAGE1": "4/13/13", 
    "STAGE2": "5/21/13" 
} 

一定要檢查你的錯誤控制檯時有什麼不工作。

+0

謝謝。雖然這只是我輸入時的一個輸入錯誤。對象構建正確,因爲它是從另一個數據源進行JSON編碼的,我可以使用schedule [0] .STAGE1來訪問各個元素。我似乎無法自動迭代他們。 – sakeferret

+1

你檢查過我的小提琴嗎?它看起來像你說的那樣工作。 –

+0

剛看到你的小提琴,謝謝! – sakeferret

1

你忘了一個逗號:

"1": { 
    "STAGE1": "2/4/13", 
    "STAGE2": "3/9/13" 
}, // HERE 
1

是有語法錯誤,請把一個逗號「2」之前

"1": { 
    "STAGE1": "2/4/13", 
    "STAGE2": "3/9/13" 
}, //here you have missed comma 
"2": {