このコードは、CSS から参照される画像とともにクラスを変更するため、最初のクリックで正常に機能します。しかし、2回目にクリックすると、以前のクラスでクリックしたように動作し、すでに削除されていると想定しています。
if(Model.SeenItWantToSeeIt.Status==1)
{
<div class="movie_data">
<div class="usermovie_option"><a href="javascript:Void(0)" class="dont_want_to_see_it" title="I have seen this movie"> </a></div>
</div>
<div class="clear"></div>
}
else{
<div class="movie_data">
<div class="usermovie_option"><a href="javascript:Void(0)" class="want_to_see_it" title="I have seen this movie"> </a></div>
</div>
<div class="clear"></div>
}
クラスを切り替えるためのJavascriptは
$(".want_to_see_it").click(function () {
var wantToSeeIt = $(this);
alert('clicked on want to see it.');
$.ajax({
url: '@Url.Action("SeenIt", "MovieProfile")',
data: { Status: 1, MovieID: movieID },
dataType: 'json',
type: "POST",
success: function (data) {
wantToSeeIt.removeClass();
wantToSeeIt.addClass("dont_want_to_see_it");
$("dont_want_to_see_it").show();
},
error: function (data) {
alert('Error occurred.');
}
});
});
$(".dont_want_to_see_it").click(function () {
alert('clicked on donot want to see it');
var wantToSeeIt = $(this);
$.ajax({
url: '@Url.Action("SeenIt", "MovieProfile")',
data: { Status: 0, MovieID: movieID },
dataType: 'json',
type: "POST",
success: function (data) {
wantToSeeIt.removeClass();
wantToSeeIt.addClass("want_to_see_it");
$("want_to_see_it").show();
},
error: function (data) {
alert('Error occurred.');
}
});
});
そして問題は、クリックするたびに「クリックしたのを見たくない」または「クリックしたのを見たくない」という警告が表示されることです。私がしなければならないことは、それぞれの画像をクリックするたびに、このメッセージが交互に表示されることです。