2011-06-09 33 views
18

Bir JQuery $ .each() Bu benim dizi kolaylık

[{"GROUP_ID":"143", 
    "GROUP_TYPE":"2011 Season", 
    "EVENTS":[ 
    {"EVENT_ID":"374","SHORT_DESC":"Wake Forest"}, 
    {"EVENT_ID":"376","SHORT_DESC":"Yale"}, 
    {"EVENT_ID":"377","SHORT_DESC":"Michigan State"}] 
}, 
{"GROUP_ID":"142", 
    "GROUP_TYPE":"2010 Season", 
    "EVENTS":[ 
    {"EVENT_ID":"370","SHORT_DESC":"Duke"}, 
    {"EVENT_ID":"371","SHORT_DESC":"Northwestern"}, 
    {"EVENT_ID":"372","SHORT_DESC":"Brown"}] 
}] 

sonuçlarını sınırlayan, yineleme

olduğunu çözmeye çalışırken bazı gerçek zorluk yaşıyorum Benim ilk $ .each yineleme çok iyi çalışıyor, ama sorunları

ilk $ .each() fonksiyonu

 $.each(json, function(key) { 

      html = '<a href="'+json[key].GROUP_ID+'">'; 

    .... 
yaşıyorum burada "OLAYLAR" için alt yineleme olduğunu

Benim çalışmayan ikinci $ .each() bu tekil JSON nesnesi olmadığını ben (gevşek) anlayışlıyımdır

 $.each(json.EVENTS, function(key) { 
    newHTML += '<p>'+json.EVENTS[key].SHORT_DESC+'</p>'; 


    ... 

fonksiyonu, ancak nesnelerin JSON dizisi, fakat ilk sürümü ise anlayış değil Ikinci neden

neden sonuçta bu bir $ .each() içinde bir $ .each() olduğunu anladığımda elde etmek istiyorum, aşağıdaki kod çalışmadığını biliyorum, ve muhtemelen daha aptalca ancak ne elde etmeye çalışacağım hakkında bir fikir verir: Ebeveynten sonra yineleyin ebeveyn tarafından üstte

$.each(json, function(key) { 

      html = '<a href="'+json[key].GROUP_ID+'">'; 

    $.each(json[key].EVENTS, function(subkey) { 

      html = '<a href="'+json[key]EVENTS[subkey].SHORT_DESC+'">'; 
... 

cevap

38

$.each function() için ikinci değişkeni de atayın, veriyi size sağladığıdan çok daha kolay hale getirir (bu nedenle, bildirgelerle çalışmak zorunda kalmazsınız).

$.each(json, function(arrayID,group) { 
      console.log('<a href="'+group.GROUP_ID+'">'); 
    $.each(group.EVENTS, function(eventID,eventData) { 
      console.log('<p>'+eventData.SHORT_DESC+'</p>'); 
    }); 
}); 

Sorunuzda denediğiniz her şeyi yazdırmanız gerekir.

http://jsfiddle.net/niklasvh/hZsQS/

düzenlemek ne olduğunu anlamak için onu ısırdı kolaylaştırmak için değişkenler değiştirildi.

+3

Bu güzel bir şey, çekicilik gibi çalışır. Cevabınızı takdir ediyorum, doğru ve uygulanması kolay, tekrar teşekkürler –

+0

Dude thanx çok! –