對我而言, 我有一個擁有多個子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