我已经在局部视图下面的代码:困惑与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