我已經在局部視圖下面的代碼:困惑與ActionLink的做內部的Ajax調用for循環
foreach (var documentFolder in Model.DocumentFolders){
<span id="Folder">
@Html.ActionLink(documentFolder.DisplayNameProperty, "ControllerAction", "Controller", null, new{@name = documentFolder.IDProperty, @id = "lbGetFile", @class = "textLink", @style = "text-decoration: underline; color: blue; cursor: pointer;"})
</span>
}
我有這樣的jQuery代碼:
$("#lbGetFile").click(function(){
debugger;
$.ajax({
url: this.href,
type: "POST",
data: { selectedFolderID: $("#lbGetFile").attr('name') },
error: function (jqXHR, textStatus, errorThrown) {
debugger;
},
success: function (data) {
debugger;
}
});
return false;
});
什麼我注意到是隻有我的for循環的第一個項目才能正確地返回成功函數。它可能是因爲for循環中的每個項目都有相同的id,但我無法弄清楚該怎麼辦?
此外,我會認爲,而不是一個for循環編輯器模板應該在這裏更好地工作,但可以成功的Ajax調用正確地重寫編輯器模板區域?
這是因爲相同的ID確實。但是,你可以很容易地完全擺脫它。只要選擇一個不同的選擇器,比如類和元素,然後在處理器內部使用'this' – Andrei 2014-08-29 15:43:56
@andrei,那麼......如何在動態時編寫JQuery選擇器?我可以理解使用$(「#hello .world」)選擇基於say「id ='hello'class ='world'」的標籤。 – Jason 2014-08-29 15:51:39
擴大答案。希望它能澄清這個 – Andrei 2014-08-29 16:10:21