我陷入了非常简单的境地。
我有一个执行ajax调用的链接,成功后,我需要更改单击的链接文本或颜色。
foreach (var m in Model.GroupPosts){
...
@Html.ActionLink("Vote up", "Vote", "GroupPost", new { groupPostId = m.GroupPostId }, new{@class="vote-up"})
@Html.ActionLink("Vote down", "Vote", "GroupPost", new { groupPostId = m.GroupPostId }, new { @class = "vote-down" })
}
$('.vote-up').click(function (e) {
e.preventDefault();
var url = $(this).attr('href');
$.ajax({
url: url,
type: "GET",
success: function (html) {
alert("voted up");
e.target.text("New link text");
}
});
});
我无法更改点击的链接文本。
它应该是:
$(e.target).text("New link text");
同样,您可以button/Link
在AJAX
调用之外保留对被单击事件的引用,然后可以在success
回调中使用它。像这样:
$('.vote-up').click(function (e) {
e.preventDefault();
var url = $(this).attr('href'),
btn = $(this); // <-- reference the Button/Link
$.ajax({
url: url,
type: "GET",
success: function (html) {
alert("voted up");
btn.text("New link text"); // <-- Use that referenced jQuery Object
}
});
});
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句