对我而言, 我有一个拥有多个子div的父div。这些子div是根据$ .each()函数生成的。
函数运行的次数,生成的div数。这些子div包含类似UserId,UserName,UserPic和后续按钮的数据。现在,我想在按钮单击时编写一个服务器端函数,并发布UserId到控制器。
现在,我已经看到很多这样的问题和解决方案是有一个全局变量,并从您的$ .each函数为该变量赋值。 但是,在我的情况,我的$。每个功能将多次循环因此如何找回特定item.Id点击后续按钮时和回来后该值控制器
$(document).ready(function() {
var parent = $(".div1");
$.getJSON("/Home/GetUsers", null, function(data) {
parent.html("");
$.each(data, function(i, item) {
var html = "<div class='div2'>";
html += "Name: " + item.UserName + "<br />";
html += item.ArticleCount;
html += "<img src='" + item.UserImage + "'height='20px' width='20px'/>";
html += "<button type='button' class='newButton'>Click Me!</button>";
// wants to send current userId on button click
html += item.Id;
html += "</div>";
parent.append(html);
});
});
parent.on('click', '.newButton', function(e) {
var button = $(this);
var html = "<div class='listItem'>";
$.ajax({
type: "POST",
url: "Home/Follow", // Controller/View
data: { //Here, i am struck, how to get back correct userid from above $.each function
id: $(".listItem").
}
});
});
您可以将item.Id保存在按钮上的数据属性中,并使用'button.data('id')' – jcubic