2015-10-19 50 views
0

我正在嘗試動態添加JSON數據中的表頭。 我需要生成頭文件(th),以便它不是手動完成的。如何將表頭添加到包含Ajax數據的動態生成的表中?

我有一個很基本的工作例如:而且我熟悉JQuery解決方案,但是,我想做到這一點在JavaScript唯一的方法:

一些JSON格式的數據:

var value = [{ 
    "City": "KABUL", 
     "Continent": "ASIA", 
     "Country": "AFGHANISTAN", 
     "CountryAbbr": "AF", 
     "CountryId": "102120" 
}, { 
    "City": "MARIEHAMN", 
     "Continent": "EUROPE", 
     "Country": "ALAND ISLANDS", 
     "CountryAbbr": "AX", 
     "CountryId": "102115" 
}]; 

的JavaScript:

var out = "<table>"; 

for (var i = 0; i < value.length; i++) { 
    out += "<tr><td>" + value[i].Country + 
     "</td><td>" + value[i].City + 
     "</td><td>" + value[i].CountryAbbr + 
     "</td></tr>"; 
} 
out += "</table>"; 

document.getElementById("tableContainer").innerHTML = out; 

HTML:

<div id="tableContainer"></div> 

一個工作小提琴: dynamically generated table containing Ajax data

+0

不知道你在問。推測你已經嘗試加入 header 1? – davestevens

+0

我還需要生成標題。所以'國家,城市,國家ABBR.' 我不確定如何獲取數據和標題。 – Asynchronous

+0

你可以動態地做到這一點,但是因爲你已經硬編碼了你想要的值,所以頭部動態變化的意義何在? 您已經知道您只需添加國家 ...。 如果要動態選擇要顯示\隱藏的列,則應該動態構建標頭和值單元 – LiranBo

回答

0

如果你正在談論表頭/ heading.then下面的代碼對你有幫助:

var value = [{ 
    "City": "KABUL", 
     "Continent": "ASIA", 
     "Country": "AFGHANISTAN", 
     "CountryAbbr": "AF", 
     "CountryId": "102120" 
}, { 
    "City": "MARIEHAMN", 
     "Continent": "EUROPE", 
     "Country": "ALAND ISLANDS", 
     "CountryAbbr": "AX", 
     "CountryId": "102115" 
}]; 

var out = "<table>"; 
out+="<tr><th>Country</th><th>City</th><th>Country Code</th></tr>";//TABLE HEADER/HEADING---------- 
for (var i = 0; i < value.length; i++) { 
    out += "<tr><td>" + value[i].Country + 
     "</td><td>" + value[i].City + 
     "</td><td>" + value[i].CountryAbbr + 
     "</td></tr>"; 
} 
out += "</table>"; 

document.getElementById("tableContainer").innerHTML = out; 

Here is the snapshot of your jsfiddle

+0

謝謝! 這很棒,但我會看到如何動態生成所有的HTML,而不是硬編碼值或標記。另一個問題。 – Asynchronous

+0

好的...那麼你可以在for循環之前動態使用JSON結果鍵(Continent,Country,CountryAbbr,CountryId)作爲標題/標題。 –

相關問題