使用foreach的另一个函数中的Javascript函数

时间:2018-09-12 07:56:48

标签: javascript ajax

我没有发布完整的C#代码,否则它将变得凌乱,但如果需要,我将对其进行编辑。我有具有全名和ID的用户,我的回复有1个以下的用户。我需要在每个用户下方的列表中填写自己的列表。

我的功能是显示要填充的位置。优先用户列表将在其自己的用户下显示为另一个列表。我不知道该怎么做foreach,我是javascript的新手。

$(".selectstudent").click(function() {
  var test = this;
  $.ajax({
    type: "GET",
    url: "/Courses/GetUserList",
    dataType: "json",
    data: {
      id: this.id
    },
    success: function(resp) {
      $('.inlist').empty();
      $.each(resp,
        function(i) {
          $(".inlist").append($("<div class=\"container\"> <button type=\"button\" class=\"btn\" data-target=\"#id" + resp[i].ID + "\">+</button> <label> " +
            resp[i].FullName + "</label>" +
            "<div class=\"collapse\" id=\"id" + resp[i].ID + "\" <ul>" + 

            myfunction(resp[i].PriorityUserList) + "</ul></div > </div > <div>"));
          //resp[i].PriorityUserList[0].FullName
        }
      );
    },
    failure: function(response) {
      alert(response.responseText);
    },
    error: function(response) {
      alert(response.responseText);
    }
  });

  $("#myModal").modal();
});

myfunction(variable) {
  variable.foraech(afunction(i)) {
    return "<li id=/" variable[j].ID + ">" + variable[j].FullName + "</li>"
  });
}

This is the image of list i created

1 个答案:

答案 0 :(得分:1)

使用map代替forEach,并在返回的数组上使用join将数组转换为字符串,然后返回html字符串。

function myfunction(PriorityUserList) {
  return PriorityUserList.map(({ ID, FullName }) =>
    `<li id="${ID}">${FullName}</li>`
  ).join(' ');
}


/// demo code

const PriorityUserList = ["mark", "tom", "adam"]
  .map((FullName, i) => ({ ID: i, FullName }))

document.querySelector("body")
 .insertAdjacentHTML("afterbegin", myfunction(PriorityUserList));