Reputation: 125
I have a json data like this: It stores data generated from a vip.
myContacts=
[
{
"owner":"swapneil",
"fleet_name":"RancorService",
"creation_date":"09-03-2020",
"environment":"RancorService/JP",
"vip_port":80,
"partition":"YES",
"protocol":"HTTP",
"monitor":"Consistent (http-ping)",
"lbset":"Consistent",
"predictor":"Consistent",
"spillover":"Consistent",
"vip_cka":"Consistent :(NO)",
"max_conns":"Consistent : (36)",
"vip_cipher":null,
"vip_cip":"Consistent",
"vip_tier":"Consistent(Tier1)",
"vip_siloed":"Consistent(Non-SILOED)",
"vip_globalized":"Consistent(Non-GLOBALIZED)",
"vip_dedicated":"Consistent(Non-DEDICATED_VIP)",
"vip_retail_tag":"Consistent(RETAIL_TAG)",
"down_stat_flush":"Consistent :(ENABLED)",
"vip_type":"Consistent (BACKEND)",
"server_port":"Consistent",
"vip_server_timeout":"Consistent",
"vip_client_timeout":"Consistent",
"persistent_method":"Consistent",
"persistent_timeout":"Consistent"
},
{
"owner":"swapneil",
"fleet_name":"RancorService",
"creation_date":"09-03-2020",
"environment":"RancorService/JP",
"vip_port":443,
"partition":"YES",
"protocol":"TCP",
"monitor":"NC",
"lbset":"NC (>1 Vip's in same LB)",
"predictor":"NC (leastconns,ROUNDROBINSHOULD BE ROUNDROBIN)",
"spillover":"Consistent",
"vip_cka":"Consistent :(NO)",
"max_conns":"Consistent : (9000)",
"vip_cipher":null,
"vip_cip":"Consistent",
"vip_tier":"Consistent(Non-Tier1)",
"vip_siloed":"Consistent(Non-SILOED)",
"vip_globalized":"Consistent(Non-GLOBALIZED)",
"vip_dedicated":"Consistent(Non-DEDICATED_VIP)",
"vip_retail_tag":"Consistent(RETAIL_TAG)",
"down_stat_flush":"Consistent :(ENABLED)",
"vip_type":"Consistent (BACKEND)",
"server_port":"Consistent",
"vip_server_timeout":"Consistent",
"vip_client_timeout":"Consistent",
"persistent_method":"Consistent",
"persistent_timeout":"Consistent"
},
{
"owner":"swapneil",
"fleet_name":"RegionAwareBaseLayer",
"creation_date":"09-03-2020",
"environment":"RegionAwareBaseLayer/NA",
"vip_port":80,
"partition":"YES",
"protocol":"HTTP",
"monitor":"Consistent (http-ping)",
"lbset":"Consistent",
"predictor":"Consistent",
"spillover":"Consistent",
"vip_cka":"Consistent :(NO)",
"max_conns":"Consistent : (56)",
"vip_cipher":null,
"vip_cip":"Consistent",
"vip_tier":"NC : >1 VIP's MISSING TIER-1 TAG",
"vip_siloed":"Consistent(Non-SILOED)",
"vip_globalized":"Consistent(GLOBALIZED)",
"vip_dedicated":"Consistent(Non-DEDICATED_VIP)",
"vip_retail_tag":"Consistent(RETAIL_TAG)",
"down_stat_flush":"Consistent :(ENABLED)",
"vip_type":"Consistent (BACKEND)",
"server_port":"Consistent",
"vip_server_timeout":"Consistent",
"vip_client_timeout":"Consistent",
"persistent_method":"Consistent",
"persistent_timeout":"Consistent"
},
{
"owner":"swapneil",
"fleet_name":"RegionAwareBaseLayer",
"creation_date":"09-03-2020",
"environment":"RegionAwareBaseLayer/NA",
"vip_port":443,
"partition":"NO",
"protocol":"TCP",
"monitor":"Consistent (ssl-ping)",
"lbset":"Consistent",
"predictor":"NC :SHOULD BE ROUNDROBIN",
"spillover":"Consistent",
"vip_cka":"NC : SHOULD BE DISABLED (YES)",
"max_conns":"Consistent : (9000)",
"vip_cipher":null,
"vip_cip":"Consistent",
"vip_tier":"Consistent(Tier1)",
"vip_siloed":"Consistent(Non-SILOED)",
"vip_globalized":"Consistent(Non-GLOBALIZED)",
"vip_dedicated":"Consistent(Non-DEDICATED_VIP)",
"vip_retail_tag":"Consistent(RETAIL_TAG)",
"down_stat_flush":"Consistent :(ENABLED)",
"vip_type":"Consistent (BACKEND)",
"server_port":"Consistent",
"vip_server_timeout":"Consistent",
"vip_client_timeout":"Consistent",
"persistent_method":"Consistent",
"persistent_timeout":"Consistent"
},
{
"owner":"swapneil",
"fleet_name":"RegionMappingService",
"creation_date":"09-03-2020",
"environment":"RegionMappingService/EU",
"vip_port":80,
"partition":"YES",
"protocol":"HTTP",
"monitor":"Consistent (http-ping)",
"lbset":"Consistent",
"predictor":"Consistent",
"spillover":"Consistent",
"vip_cka":"Consistent :(NO)",
"max_conns":"Consistent : (16)",
"vip_cipher":null,
"vip_cip":"Consistent",
"vip_tier":"Consistent(Tier1)",
"vip_siloed":"Consistent(Non-SILOED)",
"vip_globalized":"Consistent(Non-GLOBALIZED)",
"vip_dedicated":"Consistent(Non-DEDICATED_VIP)",
"vip_retail_tag":"Consistent(RETAIL_TAG)",
"down_stat_flush":"Consistent :(ENABLED)",
"vip_type":"Consistent (BACKEND)",
"server_port":"Consistent",
"vip_server_timeout":"Consistent",
"vip_client_timeout":"Consistent",
"persistent_method":"Consistent",
"persistent_timeout":"Consistent"
},
{
"owner":"swapneil",
"fleet_name":"RegionMappingService",
"creation_date":"09-03-2020",
"environment":"RegionMappingService/EU",
"vip_port":443,
"partition":"YES",
"protocol":"TCP",
"monitor":"NC",
"lbset":"NC (>1 Vip's in same LB)",
"predictor":"NC :SHOULD BE ROUNDROBIN",
"spillover":"Consistent",
"vip_cka":"Consistent :(NO)",
"max_conns":"Consistent : (9000)",
"vip_cipher":null,
"vip_cip":"Consistent",
"vip_tier":"Consistent(Non-Tier1)",
"vip_siloed":"Consistent(Non-SILOED)",
"vip_globalized":"Consistent(Non-GLOBALIZED)",
"vip_dedicated":"Consistent(Non-DEDICATED_VIP)",
"vip_retail_tag":"Consistent(RETAIL_TAG)",
"down_stat_flush":"Consistent :(ENABLED)",
"vip_type":"Consistent (BACKEND)",
"server_port":"Consistent",
"vip_server_timeout":"Consistent",
"vip_client_timeout":"Consistent",
"persistent_method":"Consistent",
"persistent_timeout":"Consistent"
},
{
"owner":"swapneil",
"fleet_name":"RegionAwareBaseLayer",
"creation_date":"09-03-2020",
"environment":"RABLIndexer/EU",
"vip_port":80,
"partition":"NO",
"protocol":"HTTP",
"monitor":"Consistent (http-ping)",
"lbset":"Consistent",
"predictor":"Consistent",
"spillover":"Consistent",
"vip_cka":"NC : SHOULD BE DISABLED (YES)",
"max_conns":"MAX-CONNS WITH DEFAULT VALUE : 15",
"vip_cipher":null,
"vip_cip":"Consistent",
"vip_tier":"Consistent(Non-Tier1)",
"vip_siloed":"Consistent(Non-SILOED)",
"vip_globalized":"Consistent(Non-GLOBALIZED)",
"vip_dedicated":"Consistent(Non-DEDICATED_VIP)",
"vip_retail_tag":"Consistent(RETAIL_TAG)",
"down_stat_flush":"Consistent :(ENABLED)",
"vip_type":"Consistent (BACKEND)",
"server_port":"Consistent",
"vip_server_timeout":"Consistent",
"vip_client_timeout":"Consistent",
"persistent_method":"Consistent",
"persistent_timeout":"Consistent"
},
{
"owner":"swapneil",
"fleet_name":"RegionMappingService",
"creation_date":"09-03-2020",
"environment":"RegionMappingService/JP",
"vip_port":80,
"partition":"YES",
"protocol":"HTTP",
"monitor":"NC",
"lbset":"Consistent",
"predictor":"Consistent",
"spillover":"Consistent",
"vip_cka":"Consistent :(NO)",
"max_conns":"Consistent : (40)",
"vip_cipher":null,
"vip_cip":"Consistent",
"vip_tier":"Consistent(Tier1)",
"vip_siloed":"Consistent(Non-SILOED)",
"vip_globalized":"Consistent(Non-GLOBALIZED)",
"vip_dedicated":"Consistent(Non-DEDICATED_VIP)",
"vip_retail_tag":"Consistent(RETAIL_TAG)",
"down_stat_flush":"Consistent :(ENABLED)",
"vip_type":"Consistent (BACKEND)",
"server_port":"Consistent",
"vip_server_timeout":"Consistent",
"vip_client_timeout":"Consistent",
"persistent_method":"Consistent",
"persistent_timeout":"Consistent"
},
{
"owner":"swapneil",
"fleet_name":"RegionMappingService",
"creation_date":"09-03-2020",
"environment":"RegionMappingService/JP",
"vip_port":443,
"partition":"YES",
"protocol":"TCP",
"monitor":"NC",
"lbset":"NC (>1 Vip's in same LB)",
"predictor":"NC :SHOULD BE ROUNDROBIN",
"spillover":"Consistent",
"vip_cka":"Consistent :(NO)",
"max_conns":"Consistent : (9000)",
"vip_cipher":null,
"vip_cip":"Consistent",
"vip_tier":"Consistent(Non-Tier1)",
"vip_siloed":"Consistent(Non-SILOED)",
"vip_globalized":"Consistent(Non-GLOBALIZED)",
"vip_dedicated":"Consistent(Non-DEDICATED_VIP)",
"vip_retail_tag":"Consistent(RETAIL_TAG)",
"down_stat_flush":"Consistent :(ENABLED)",
"vip_type":"Consistent (BACKEND)",
"server_port":"Consistent",
"vip_server_timeout":"Consistent",
"vip_client_timeout":"Consistent",
"persistent_method":"Consistent",
"persistent_timeout":"Consistent"
}
]
and i have a javascript function that converts it into a table.
function generateDynamicTable(myContacts){
var noOfContacts = myContacts.length;
if(noOfContacts>0){
// CREATE DYNAMIC TABLE.
var table = document.createElement("table");
table.style.width = '50%';
table.setAttribute('border', '1');
table.setAttribute('cellspacing', '0');
table.setAttribute('cellpadding', '5');
// retrieve column header ('Name', 'Email', and 'Mobile')
var col = []; // define an empty array
for (var i = 0; i < noOfContacts; i++) {
for (var key in myContacts[i]) {
if (col.indexOf(key) === -1) {
col.push(key);
}
}
}
// CREATE TABLE HEAD .
var tHead = document.createElement("thead");
// CREATE ROW FOR TABLE HEAD .
var hRow = document.createElement("tr");
// ADD COLUMN HEADER TO ROW OF TABLE HEAD.
for (var i = 0; i < col.length; i++) {
var th = document.createElement("th");
th.innerHTML = col[i];
hRow.appendChild(th);
}
tHead.appendChild(hRow);
table.appendChild(tHead);
// CREATE TABLE BODY .
var tBody = document.createElement("tbody");
// ADD COLUMN HEADER TO ROW OF TABLE HEAD.
for (var i = 0; i < noOfContacts; i++) {
var bRow = document.createElement("tr"); // CREATE ROW FOR EACH RECORD
for (var j = 0; j < col.length; j++) {
var td = document.createElement("td");
td.innerHTML = myContacts[i][col[j]];
bRow.appendChild(td);
}
tBody.appendChild(bRow)
}
table.appendChild(tBody);
// FINALLY ADD THE NEWLY CREATED TABLE WITH JSON DATA TO A CONTAINER.
var divContainer = document.getElementById("demo");
divContainer.appendChild(table);
}
}
Now i want those cells in monitor column of the table to be a hyperlink to another html page that has monitor value 'NC' . It would be good if the on clicking that hyperlink, pop-up box is generated. But that is not that much needed. Only hyperlink will do.
Upvotes: 0
Views: 28
Reputation: 9614
Instead of text, append anchor to TD, check below:
var myContacts = [{
"owner": "swapneil",
"fleet_name": "RancorService",
"creation_date": "09-03-2020",
"environment": "RancorService/JP",
"vip_port": 80,
"partition": "YES",
"protocol": "HTTP",
"monitor": "Consistent (http-ping)",
"lbset": "Consistent",
"predictor": "Consistent",
"spillover": "Consistent",
"vip_cka": "Consistent :(NO)",
"max_conns": "Consistent : (36)",
"vip_cipher": null,
"vip_cip": "Consistent",
"vip_tier": "Consistent(Tier1)",
"vip_siloed": "Consistent(Non-SILOED)",
"vip_globalized": "Consistent(Non-GLOBALIZED)",
"vip_dedicated": "Consistent(Non-DEDICATED_VIP)",
"vip_retail_tag": "Consistent(RETAIL_TAG)",
"down_stat_flush": "Consistent :(ENABLED)",
"vip_type": "Consistent (BACKEND)",
"server_port": "Consistent",
"vip_server_timeout": "Consistent",
"vip_client_timeout": "Consistent",
"persistent_method": "Consistent",
"persistent_timeout": "Consistent"
},
{
"owner": "swapneil",
"fleet_name": "RancorService",
"creation_date": "09-03-2020",
"environment": "RancorService/JP",
"vip_port": 443,
"partition": "YES",
"protocol": "TCP",
"monitor": "NC",
"lbset": "NC (>1 Vip's in same LB)",
"predictor": "NC (leastconns,ROUNDROBINSHOULD BE ROUNDROBIN)",
"spillover": "Consistent",
"vip_cka": "Consistent :(NO)",
"max_conns": "Consistent : (9000)",
"vip_cipher": null,
"vip_cip": "Consistent",
"vip_tier": "Consistent(Non-Tier1)",
"vip_siloed": "Consistent(Non-SILOED)",
"vip_globalized": "Consistent(Non-GLOBALIZED)",
"vip_dedicated": "Consistent(Non-DEDICATED_VIP)",
"vip_retail_tag": "Consistent(RETAIL_TAG)",
"down_stat_flush": "Consistent :(ENABLED)",
"vip_type": "Consistent (BACKEND)",
"server_port": "Consistent",
"vip_server_timeout": "Consistent",
"vip_client_timeout": "Consistent",
"persistent_method": "Consistent",
"persistent_timeout": "Consistent"
},
{
"owner": "swapneil",
"fleet_name": "RegionAwareBaseLayer",
"creation_date": "09-03-2020",
"environment": "RegionAwareBaseLayer/NA",
"vip_port": 80,
"partition": "YES",
"protocol": "HTTP",
"monitor": "Consistent (http-ping)",
"lbset": "Consistent",
"predictor": "Consistent",
"spillover": "Consistent",
"vip_cka": "Consistent :(NO)",
"max_conns": "Consistent : (56)",
"vip_cipher": null,
"vip_cip": "Consistent",
"vip_tier": "NC : >1 VIP's MISSING TIER-1 TAG",
"vip_siloed": "Consistent(Non-SILOED)",
"vip_globalized": "Consistent(GLOBALIZED)",
"vip_dedicated": "Consistent(Non-DEDICATED_VIP)",
"vip_retail_tag": "Consistent(RETAIL_TAG)",
"down_stat_flush": "Consistent :(ENABLED)",
"vip_type": "Consistent (BACKEND)",
"server_port": "Consistent",
"vip_server_timeout": "Consistent",
"vip_client_timeout": "Consistent",
"persistent_method": "Consistent",
"persistent_timeout": "Consistent"
},
{
"owner": "swapneil",
"fleet_name": "RegionAwareBaseLayer",
"creation_date": "09-03-2020",
"environment": "RegionAwareBaseLayer/NA",
"vip_port": 443,
"partition": "NO",
"protocol": "TCP",
"monitor": "Consistent (ssl-ping)",
"lbset": "Consistent",
"predictor": "NC :SHOULD BE ROUNDROBIN",
"spillover": "Consistent",
"vip_cka": "NC : SHOULD BE DISABLED (YES)",
"max_conns": "Consistent : (9000)",
"vip_cipher": null,
"vip_cip": "Consistent",
"vip_tier": "Consistent(Tier1)",
"vip_siloed": "Consistent(Non-SILOED)",
"vip_globalized": "Consistent(Non-GLOBALIZED)",
"vip_dedicated": "Consistent(Non-DEDICATED_VIP)",
"vip_retail_tag": "Consistent(RETAIL_TAG)",
"down_stat_flush": "Consistent :(ENABLED)",
"vip_type": "Consistent (BACKEND)",
"server_port": "Consistent",
"vip_server_timeout": "Consistent",
"vip_client_timeout": "Consistent",
"persistent_method": "Consistent",
"persistent_timeout": "Consistent"
},
{
"owner": "swapneil",
"fleet_name": "RegionMappingService",
"creation_date": "09-03-2020",
"environment": "RegionMappingService/EU",
"vip_port": 80,
"partition": "YES",
"protocol": "HTTP",
"monitor": "Consistent (http-ping)",
"lbset": "Consistent",
"predictor": "Consistent",
"spillover": "Consistent",
"vip_cka": "Consistent :(NO)",
"max_conns": "Consistent : (16)",
"vip_cipher": null,
"vip_cip": "Consistent",
"vip_tier": "Consistent(Tier1)",
"vip_siloed": "Consistent(Non-SILOED)",
"vip_globalized": "Consistent(Non-GLOBALIZED)",
"vip_dedicated": "Consistent(Non-DEDICATED_VIP)",
"vip_retail_tag": "Consistent(RETAIL_TAG)",
"down_stat_flush": "Consistent :(ENABLED)",
"vip_type": "Consistent (BACKEND)",
"server_port": "Consistent",
"vip_server_timeout": "Consistent",
"vip_client_timeout": "Consistent",
"persistent_method": "Consistent",
"persistent_timeout": "Consistent"
},
{
"owner": "swapneil",
"fleet_name": "RegionMappingService",
"creation_date": "09-03-2020",
"environment": "RegionMappingService/EU",
"vip_port": 443,
"partition": "YES",
"protocol": "TCP",
"monitor": "NC",
"lbset": "NC (>1 Vip's in same LB)",
"predictor": "NC :SHOULD BE ROUNDROBIN",
"spillover": "Consistent",
"vip_cka": "Consistent :(NO)",
"max_conns": "Consistent : (9000)",
"vip_cipher": null,
"vip_cip": "Consistent",
"vip_tier": "Consistent(Non-Tier1)",
"vip_siloed": "Consistent(Non-SILOED)",
"vip_globalized": "Consistent(Non-GLOBALIZED)",
"vip_dedicated": "Consistent(Non-DEDICATED_VIP)",
"vip_retail_tag": "Consistent(RETAIL_TAG)",
"down_stat_flush": "Consistent :(ENABLED)",
"vip_type": "Consistent (BACKEND)",
"server_port": "Consistent",
"vip_server_timeout": "Consistent",
"vip_client_timeout": "Consistent",
"persistent_method": "Consistent",
"persistent_timeout": "Consistent"
},
{
"owner": "swapneil",
"fleet_name": "RegionAwareBaseLayer",
"creation_date": "09-03-2020",
"environment": "RABLIndexer/EU",
"vip_port": 80,
"partition": "NO",
"protocol": "HTTP",
"monitor": "Consistent (http-ping)",
"lbset": "Consistent",
"predictor": "Consistent",
"spillover": "Consistent",
"vip_cka": "NC : SHOULD BE DISABLED (YES)",
"max_conns": "MAX-CONNS WITH DEFAULT VALUE : 15",
"vip_cipher": null,
"vip_cip": "Consistent",
"vip_tier": "Consistent(Non-Tier1)",
"vip_siloed": "Consistent(Non-SILOED)",
"vip_globalized": "Consistent(Non-GLOBALIZED)",
"vip_dedicated": "Consistent(Non-DEDICATED_VIP)",
"vip_retail_tag": "Consistent(RETAIL_TAG)",
"down_stat_flush": "Consistent :(ENABLED)",
"vip_type": "Consistent (BACKEND)",
"server_port": "Consistent",
"vip_server_timeout": "Consistent",
"vip_client_timeout": "Consistent",
"persistent_method": "Consistent",
"persistent_timeout": "Consistent"
},
{
"owner": "swapneil",
"fleet_name": "RegionMappingService",
"creation_date": "09-03-2020",
"environment": "RegionMappingService/JP",
"vip_port": 80,
"partition": "YES",
"protocol": "HTTP",
"monitor": "NC",
"lbset": "Consistent",
"predictor": "Consistent",
"spillover": "Consistent",
"vip_cka": "Consistent :(NO)",
"max_conns": "Consistent : (40)",
"vip_cipher": null,
"vip_cip": "Consistent",
"vip_tier": "Consistent(Tier1)",
"vip_siloed": "Consistent(Non-SILOED)",
"vip_globalized": "Consistent(Non-GLOBALIZED)",
"vip_dedicated": "Consistent(Non-DEDICATED_VIP)",
"vip_retail_tag": "Consistent(RETAIL_TAG)",
"down_stat_flush": "Consistent :(ENABLED)",
"vip_type": "Consistent (BACKEND)",
"server_port": "Consistent",
"vip_server_timeout": "Consistent",
"vip_client_timeout": "Consistent",
"persistent_method": "Consistent",
"persistent_timeout": "Consistent"
},
{
"owner": "swapneil",
"fleet_name": "RegionMappingService",
"creation_date": "09-03-2020",
"environment": "RegionMappingService/JP",
"vip_port": 443,
"partition": "YES",
"protocol": "TCP",
"monitor": "NC",
"lbset": "NC (>1 Vip's in same LB)",
"predictor": "NC :SHOULD BE ROUNDROBIN",
"spillover": "Consistent",
"vip_cka": "Consistent :(NO)",
"max_conns": "Consistent : (9000)",
"vip_cipher": null,
"vip_cip": "Consistent",
"vip_tier": "Consistent(Non-Tier1)",
"vip_siloed": "Consistent(Non-SILOED)",
"vip_globalized": "Consistent(Non-GLOBALIZED)",
"vip_dedicated": "Consistent(Non-DEDICATED_VIP)",
"vip_retail_tag": "Consistent(RETAIL_TAG)",
"down_stat_flush": "Consistent :(ENABLED)",
"vip_type": "Consistent (BACKEND)",
"server_port": "Consistent",
"vip_server_timeout": "Consistent",
"vip_client_timeout": "Consistent",
"persistent_method": "Consistent",
"persistent_timeout": "Consistent"
}
];
function generateDynamicTable(myContacts) {
var noOfContacts = myContacts.length;
if (noOfContacts > 0) {
// CREATE DYNAMIC TABLE.
var table = document.createElement("table");
table.style.width = '50%';
table.setAttribute('border', '1');
table.setAttribute('cellspacing', '0');
table.setAttribute('cellpadding', '5');
// retrieve column header ('Name', 'Email', and 'Mobile')
var col = []; // define an empty array
for (var i = 0; i < noOfContacts; i++) {
for (var key in myContacts[i]) {
if (col.indexOf(key) === -1) {
col.push(key);
}
}
}
// CREATE TABLE HEAD .
var tHead = document.createElement("thead");
// CREATE ROW FOR TABLE HEAD .
var hRow = document.createElement("tr");
// ADD COLUMN HEADER TO ROW OF TABLE HEAD.
for (var i = 0; i < col.length; i++) {
var th = document.createElement("th");
th.innerHTML = col[i];
hRow.appendChild(th);
}
tHead.appendChild(hRow);
table.appendChild(tHead);
// CREATE TABLE BODY .
var tBody = document.createElement("tbody");
// ADD COLUMN HEADER TO ROW OF TABLE HEAD.
for (var i = 0; i < noOfContacts; i++) {
var bRow = document.createElement("tr"); // CREATE ROW FOR EACH RECORD
for (var j = 0; j < col.length; j++) {
var td = document.createElement("td");
if (col[j] == 'monitor' && myContacts[i][col[j]] == 'NC') {
var a = document.createElement('a');
var linkText = document.createTextNode("Ext. link");
a.appendChild(linkText);
a.title = "Check details";
a.href = "http://example.com";
td.appendChild( a );
} else {
td.innerHTML = myContacts[i][col[j]];
};
bRow.appendChild(td);
}
tBody.appendChild(bRow)
}
table.appendChild(tBody);
// FINALLY ADD THE NEWLY CREATED TABLE WITH JSON DATA TO A CONTAINER.
var divContainer = document.getElementById("demo");
divContainer.appendChild(table);
}
};
generateDynamicTable(myContacts);
<div id="demo"></div>
Also on JSFiddle.
Upvotes: 1