[英]Use Javascript ajax response to create table dynamically
我正在使用Javascript。 我的代码中有一些API调用(使用AJAX)。 我的用户界面中有一个名为USER DASHBOARD
的按钮。 单击此按钮后,我正在使用AJAX进行一些API调用,并显示HTML UI,其中包含带有行的表。
在上表中有两行。 如果我关闭此弹出窗口,然后再次单击USER DASHBOARD
按钮,它将在表中再次添加这两行。 我不想再追加这些行。
我使用AJAX响应形成表格的代码如下所示:
getUserAccountDetailsCallback: function (userid, appid, response) {
if (response != "") {
var res = JSON.parse(response);
var totalNoOfApps = document.getElementById('totalSites');
var totalNoOfSubscriptions = document.getElementById('totalSubscribers');
totalNoOfApps.innerHTML = res.totalNoOfApps;
totalNoOfSubscriptions.innerHTML = res.totalNoOfSubscriptions;
if (res.subscriptionsForCurrentAppId.length > 0) {
for (var i = 0; i < res.subscriptionsForCurrentAppId.length; i++) {
var td1 = document.createElement('td');
td1.style.width = '30';
td1.innerHTML = i + 1;
var td2 = document.createElement('td');
td2.innerHTML = res.subscriptionsForCurrentAppId[i].gatewayName;
var td3 = document.createElement('td');
td3.innerHTML = res.subscriptionsForCurrentAppId[i].priceCurrencyIso;
var td4 = document.createElement('td');
td4.innerHTML = res.subscriptionsForCurrentAppId[i].amountPaid;
var date = new Date(res.subscriptionsForCurrentAppId[i].subscribedDate);
date.toString();
var td5 = document.createElement('td');
td5.innerHTML = date.getMonth() + 1 + '/' + date.getDate() + '/' + date.getFullYear(); //res.subscriptionsForCurrentAppId[i].subscribedDate;
var td6 = document.createElement('td');
td6.innerHTML = res.subscriptionsForCurrentAppId[i].transactionId;
var td7 = document.createElement('td');
td7.innerHTML = res.subscriptionsForCurrentAppId[i].active;
var tr = document.createElement('tr');
tr.appendChild(td1);
tr.appendChild(td2);
tr.appendChild(td3);
tr.appendChild(td4);
tr.appendChild(td5);
tr.appendChild(td6);
tr.appendChild(td7);
var table = document.getElementById('tbl');
table.appendChild(tr);
}
}
}
}
请帮忙。 我在哪里做错了。
要清理表,您需要将其HTML内容设置为空。
像这样:
var table = document.getElementById('tbl');
table.innerHTML = "";
之后,添加新行。
您需要先清空表,然后再向其中添加任何数据。
因此添加此行
table.innerHTML = '';
在table.appendChild(tr);
之前table.appendChild(tr);
在您的代码中。 每次调用该函数时都会清空表,然后将的新数据添加到表中。
如果有任何错误,请回复,我很乐意提供帮助,
Utkarsh Vishnoi
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.