繁体   English   中英

如何使用javascript AJAX响应动态创建表

[英]How to use javascript AJAX response to create table dynamically

我正在使用javascript。 我的代码中有一些API调用(使用Ajax)。 我的用户界面中有一个按钮 在此处输入图片说明

单击此按钮后,我正在使用AJAX进行一些API调用,并在HTML UI下方显示: 在此处输入图片说明

在上表中有2行。 现在,如果我关闭此弹出窗口,然后再次单击“ 用户仪表板”按钮,它将在表中再次添加这两行。 我不想再追加这些行。

我使用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);
                  }

              }

          }
      }

请帮忙。 我在哪里做错了。

  1. 添加thead和tbody
    <table>
    <thead><tr><th>#</th><th>Gateway.....</tr></thead>
    <tbody id="tBodyId"></tbody>
    </table>
  2. 在附加之前删除tbody的内容

像这样:

var tBody = document.getElementById("tBodyID");
while (tBody.firstChild) {
  tBody.removeChild(tBody.firstChild);
}
if(res.subscriptionsForCurrentAppId.length > 0){

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM