2014-09-29 71 views
0

我有兩個Json數據正在加載頁面上。我想根據什麼loaddata等於追加一個不同的列表。根據變量值追加不同的數據

我該怎麼做?

在執行console.log myList中等於myjson2但是我得到一個未定義的錯誤,當我嘗試,並把myList.forEach(createList);英寸

function createList(element, index, array) { 
    var li = document.createElement("li"); 
    li.setAttribute("data-rank",index); 
    li.appendChild(document.createTextNode(element['name'])); 
    ul.appendChild(li); 
} 

var ul = document.createElement("ul"); 
ul.setAttribute("id","test"); 
document.body.appendChild(ul); 

var myjson1 = [{ 
    "name": "Tom", 
    "rank": 1 
},{ 
    "name": "Richard", 
    "rank": 3 
}]; 

var myjson2 = [{ 
    "name": "Kate", 
    "rank": 1 
},{ 
    "name": "Sarah", 
    "rank": 3 
}]; 

var loaddata=2; 
var myList = "myjson" + loaddata; 
console.log(myList); 
//myList.forEach(createList); /* commented out as not working */ 
myjson1.forEach(createList); /* appends myjson1 list */ 
myjson2.forEach(createList); /* appends myjson2 list */ 

回答

1

如果我理解正確你正在嘗試做的是

var myList = this["myjson" + loaddata]; 

但是您的var myjson需要在全局範圍內聲明才能工作。