【发布时间】:2020-04-23 09:44:56
【问题描述】:
这是代码,我检查了一遍又一遍,不知道错误在哪里。
在函数中,我将一个 JSON 变量作为参数,然后函数用它创建一个表格。
另外,我正在使用一些 CSS 和 js 使该表成为数据表。 我确信这一定是一个小错误,但不确定错误在哪里。 很抱歉把它放在这里,但我没有弄错。请帮忙 有人可以进行必要的更改以使其正常工作吗?
$(document).ready(function() {
var table = $('#example').DataTable( {
scrollY: "300px",
scrollX: true,
scrollCollapse: true,
paging: false,
fixedColumns: {
leftColumns: 1,
rightColumns: 1
}
} );
} );
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/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('id','example');
table.setAttribute('class', 'stripe row-border order-column');
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);
<html>
<head>
<link rel="stylesheet" href="https://cdn.datatables.net/1.10.20/css/jquery.dataTables.min.css">
<link rel="stylesheet" href="https://cdn.datatables.net/fixedcolumns/3.3.0/css/fixedColumns.dataTables.min.css">
<style type="text/css">
/* Ensure that the demo table scrolls */
th, td { white-space: nowrap; }
div.dataTables_wrapper {
width: 800px;
margin: 0 auto;
}
</style>
<script src="https://code.jquery.com/jquery-3.3.1.js"></script>
<script src="https://cdn.datatables.net/1.10.20/js/jquery.dataTables.min.js"></script>
<script src="https://cdn.datatables.net/fixedcolumns/3.3.0/js/dataTables.fixedColumns.min.js"></script>
</head>
<body>
<div id="demo"></div>
</body>
</html>
【问题讨论】:
-
请解释并找出您的错误是什么。我们不是编写您的代码的社区。我们帮助您解决代码问题!所以请不要写“有人可以进行必要的更改以使其正常工作吗?”
-
它对我有用。我们不知道您想要达到什么目标,也不知道错误是什么。我们怎么能帮助您?
标签: javascript html css