如何在表格中附加数据... enter image description here
0
:
{createdBy: 1, UserName: "Anita Wilkins", 2018-02-01: "N/A", 2018-02-02: "N/A", 2018-02-03: "N/A", …}
1
:
{createdBy: 2, UserName: "Genson", 2018-02-01: "N/A", 2018-02-02: "N/A", 2018-02-03: "N/A", …}
length
:
2
__proto__
:
Array(0)
答案 0 :(得分:0)
您正在尝试在不知道密钥的情况下迭代阵列。以下解决方案将为您完成。
<html>
<body>
<div id="showData"></div>
</body>
<script>
var tableData = [{
"createdBy": 1,
"UserName": "Anita Wilkins",
"2018-02-01": "N/A",
"2018-02-02": "N/A",
"2018-02-03": "N/A"
},
{
"createdBy": 2,
"UserName": "Genson",
"2018-02-01": "N/A",
"2018-02-02": "N/A",
"2018-02-03": "N/A"
}
]
// EXTRACT VALUE FOR HTML HEADER.
// ('createdBy', 'UserName', '2018-02-01', '2018-02-02' and 2018-02-03)
var col = [];
for (var i = 0; i < tableData.length; i++) {
for (var key in tableData[i]) {
if (col.indexOf(key) === -1) {
col.push(key);
}
}
}
// CREATE DYNAMIC TABLE.
var table = document.createElement("table");
// CREATE HTML TABLE HEADER ROW USING THE EXTRACTED HEADERS ABOVE.
var tr = table.insertRow(-1); // TABLE ROW.
for (var i = 0; i < col.length; i++) {
var th = document.createElement("th"); // TABLE HEADER.
th.innerHTML = col[i];
tr.appendChild(th);
}
// ADD JSON DATA TO THE TABLE AS ROWS.
for (var i = 0; i < tableData.length; i++) {
tr = table.insertRow(-1);
for (var j = 0; j < col.length; j++) {
var tabCell = tr.insertCell(-1);
tabCell.innerHTML = tableData[i][col[j]];
}
}
// FINALLY ADD THE NEWLY CREATED TABLE WITH JSON DATA TO A CONTAINER.
var divContainer = document.getElementById("showData");
divContainer.innerHTML = "";
divContainer.appendChild(table);
</script>
</html>