我没有发布完整的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>"
});
}
答案 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));