How can I get each id
in the routes
array from each markers
in this JavaScript object while still referencing item.id
:
{
"markers": [
{
"id": "77475",
"smsCode": "77475",
"name": "Abbey Sports Centre",
"stopIndicator": "Y",
"towards": "Goodmayes or Upney",
"direction": "sw",
"lat": 51.53472971807365,
"lng": 0.07973349341716908,
"routes": [
{
"id": "62",
"name": "62"
},
{
"id": "287",
"name": "287"
},
{
"id": "368",
"name": "368"
},
{
"id": "387",
"name": "387"
},
{
"id": "687",
"name": "687"
}
]
}
]
}
There are more markers in the actual result, this was shortened to save space. Here is my jQuery.
$.each(data.markers, function(i,item){
$.each(item.routes, function(i,routes){
$('<span>').html(routes.id + " ").appendTo("#p_" + item.id);
//alert("#p_" + item.id + " " +routes.id);
});
$('<li>').html(
"<a href=#_" + item.id +" onclick=getBusListingForStop(" + item.id + ");><h2>" + item.name + " (Stop " + item.stopIndicator + ") to " + item.towards + "</h2><p id='p_" + item.id + "'>Buses: " + item.lat + " " + item.lng + "</p></a>"
).appendTo('#stopListing');
});
Example: http://jsbin.com/uniyar/2/edit
Update
Silly me the code order was wrong, I was running the second loop before creating the actual element. Re-ordered and works fine.
$.each(data.markers, function(i,item){
$('<li>').html(
"<a href=#_" + item.id +" onclick=getBusListingForStop(" + item.id + ");><h2>" + item.name + " (Stop " + item.stopIndicator + ") to " + item.towards + "</h2><p id='p_" + item.id + "'>Buses:</p></a>"
).appendTo('#stopListing');
$.each(item.routes, function(i,routes){
$('<span>').html(routes.id + " ").appendTo("#p_" + item.id);
//alert("#p_" + item.id + " " +routes.id);
});
});