jQuery:使用for循环array.length重复记录

时间:2017-10-23 05:12:31

标签: javascript jquery html api

我认为使用jQuery从使用AJAX的服务API获取记录并使用以下代码时,我遇到了逻辑问题。

没有错误,但此代码在HTML表格(草稿)中重复记录 -  喜欢两次。

success: function (data) {
  if (data) {
    console.log(data);
    var textDraft = "";
    for (var i = 0; i < data.TableDrafts.length; i++) {
      textDraft += "<tr><td>" + data.TableDrafts[i].nMBM + "</td><td>" + data.TableDrafts[i].nMTM + "</td><td>" + data.TableDrafts[i].sType + "</td></tr>";
      $("#Drafts").append(textDraft);
    }
  }
}

1 个答案:

答案 0 :(得分:0)

您可以使用解决方案

success: function (data) {
  if (data) {
    console.log(data);
    var textDraft = "";
    for (var i = 0; i < data.TableDrafts.length; i++) {
      $("#Drafts").append(`<tr>
        <td>${data.TableDrafts[i].nMBM}</td>
       <td>${data.TableDrafts[i].nMTM}</td>
       <td>${data.TableDrafts[i].sType}</td>
      </tr>`);
     }
  }
}

错误是,您在变量中添加新的tr以及附加变量内容。

或者你可以做

success: function (data) {
    if (data) {
    console.log(data);
    var textDraft = "";
    for (var i = 0; i < data.TableDrafts.length; i++) {
      textDraft = "<tr><td>" + data.TableDrafts[i].nMBM + "</td><td>" + data.TableDrafts[i].nMTM + "</td><td>" + data.TableDrafts[i].sType + "</td></tr>";
      $("#Drafts").append(textDraft);
    }
  }
}

希望这会对你有所帮助。