首先抱歉,我是 jquery 的初学者。
我的问题是我试图用 jquery cookie 制作一个类切换器。
它工作正常只有一个问题。当我在主页上选择工作时,每个工作都有一个唯一的 ID,并且旁边有一个按钮,当用户单击它时,它会将其保存到收藏夹,再次单击将其删除。如果它保存按钮 cganges 为黄色,如果删除更改为蓝色。
我能够在页面刷新后保留课程,但我的问题是我真正无法解决的是,如果我列出了更多工作,点击它会保留课程,然后我添加另一个它会从另一个课程中删除并添加它点击了什么,因此它不会仅将其保留在多个上。
请有人给我一个提示吗?
我的代码:
html
<a href="#" id="<?php echo $res->info_id; ?>" class="favorite btn btn-primary btn-mini" title="Add to favorite">
<i class="icon-star icon-white"></i>
</a>
jQuery
(function () {
//save to favorites
$('.favorite').on('click', function(e){
e.preventDefault();
var data = [],
newclass = 'btn-warning',
oldcalss = 'btn-primary',
fav = $(this);
favId = fav.attr('id'),
$.ajax({
type: "POST",
url: base_url + 'ajax/add_favorite/' + favId,
data: favId,
dataType: "json",
success: function(data) {
if(data.status == "removed"){
$.cookie('keepClass', 'btn-primary');
$.cookie('jId', favId);
fav.removeClass(newclass)
.addClass($.cookie('keepClass'))
.attr("title", "Add to favorites");
} else {
$.cookie('keepClass', 'btn-warning');
$.cookie('jId', favId);
fav.removeClass(oldcalss)
.addClass($.cookie('keepClass'))
.attr("title", "Remove from favorites");;
}
}
});
});
$('#' + $.cookie('jId')).attr('class', "btn btn-mini " + $.cookie('keepClass'));
})(jQuery);
谢谢你