我从ajax中获取了一些数据,并通过循环来制作卡片。我在我的循环中有一个onclick。单击本应获取索引的数据对象,但每次单击first element时,它都会获取数组中的所有对象。我尝试将for循环更改为for each,将函数移出循环并将"this“绑定到它,但无济于事。有什么帮助吗?
enter code here $.ajax({
url: "/user",
method: "POST" }).then(res => {
console.log(res);
let friend = res.request;
for (i = 0; i < friend.length; i++) {
var html2 =
"<div class='ui card'><div class='card' id='rcard'> <div class='content'> <img class='right floated mini ui image' id='rpic' src = '" +
friend[i].picture +
"<div class='header'>" +
friend[i].username +
"</div><div class='meta'>" +
friend[i].Email +
"</div><div class='description'>" +
friend[i].username +
" would like to be your friend </div></div><div class='extra content'><div class='ui two buttons'><div class='ui basic green button' id='accept'>Approve</div> <div class='ui basic red button' id='decline'>Ignore</div></div> </div></div>";
friend[i].picture
? friend[i].picture
: $("#rpic").attr(
"src",
"https://icons-for-free.com/iconfiles/png/512/business+costume+male+man+office+user+icon-1320196264882354682.png"
);
$("#cardcontainer").append(html2);
$(".ui.basic.green.button").click(i => {
console.log("hello");
var data = { data: friend[i] };发布于 2020-01-17 00:37:54
当您使用$(".ui.basic.green.button")时,它将获取具有此类的页面上的所有元素。因此,在您的代码中,尝试更改
$(".ui.basic.green.button")到$(".ui.basic.green.button")[i]。
希望它能有所帮助!!
https://stackoverflow.com/questions/59743133
复制相似问题