2011-12-15 108 views
0

我目前有一個json對象,我循環並輸出一個鏈接列表。遍歷json數據/同級數據

見琴:http://jsfiddle.net/jasonday/hzZ8j/

各個環節給出基於在JSON的STOREID的ID。

我想要做的,是當一個鏈接被點擊它找到的ID在JSON,然後兄弟元素「otherData」寫入#otherDataDiv

我和遍歷XML工作,但我我不知道如何用json完成這個任務。

另一個用戶以前回答過這個問題,它在測試環境中工作,但由於與beta插件jquery.tmpl.js衝突而無法在網站上工作。我寧願沒有插件就這樣做。 (jquery.tmpl.js版本 - http://jsfiddle.net/jasonday/RuEsj/

(將XML是首選的方法嗎?)

回答

1

而不是重新遍歷每個點擊的JSON,我會採取不同的方法,只是減少一些該字符串連接的,直接創建內容,並使用jQuery的.data()與元素每個項目的"otherData"關聯:

function GenerateMarkup(states, className) { 
    $('<ul>', {'class':className}).append($.map(states, function (v,i) { 
     return $('<li>') 
      .append($('<h3>',{text:v.stateName})) 
      .append($.map(v.store, function (value, index) { 
       return $('<a>',{href:value.storeURL,'class':'storeInactive',id:value.storeID, text:value.storeName}) 
        .data('otherData',value.otherData) 
        .click(function(){ 
         $('#otherDataDiv').text($(this).data('otherData')); 
         return false; 
        })[0]; 
      }))[0]; 

    })).appendTo('#storeList'); 
} 

JSFIDDLE DEMO

+1

看起來不錯。我會在AM中嘗試一下。 – Jason 2011-12-15 21:38:40