ユーザーがリンクをクリックすると ajax リクエストが行われ、リクエストが行われた場合、リンクをクリックできなくなる機能があります。
これを達成するために私が使用しているものは次のとおりです。
$('a[id^="rsvp_"]').click (function (e) {
e.preventDefault();
$.post(
$(this).data('url'),
function(data) {
$(this).replaceWith(function(){
alert (data);
return $("<span>" + data + "</span>");
});
}
);
}) ;
このコードは、 で始まるすべての ID に適用されますrsvp_
。すべてが機能しているように見えますalert(data)
が、アンカー タグはまだそこに残っています。アンカータグを別のものに置き換えたいだけです。
HTML スニペットは次のようになります
<a id="rsvp_${event.id}" href="#" data-url="${createLink(action: 'myaction', params: ["eventid": event, "userid": user])}">Click to RSVP</a>
アップデート
ページにこのようなリンクが複数あることに注意してください。rsvp_1, rsvp_2, rsvp_3 ..etc
ユーザーがクリックしたリンクのアンカー タグを削除したいだけです。ページ上のすべてのリンクではありません