伙计们正在尝试创建像fb一样的喜欢和不喜欢的按钮。我列出了我在PHP中列表循环的帖子。我只想要一个按钮,如果喜欢设置蓝色,如果不喜欢设置正常(默认)的颜色。 所有喜欢的记录都存储在db id | account_id | item_id |等。Jquery ajax喜欢和不喜欢按钮
我有一个PHP的控制器,用于喜欢女巫保持2种主要方法 的addAction()和deleteAction()。第一个和第二个动作只接受ajax请求并添加和删除数据库中的记录。
所以我的问题是,当我点击一个按钮颜色没有改变时,Ajax完成(成功和complite)。我认为我做得很好,但方式不对。当我点击Like记录被保存但活的颜色改变。我也用jQuery尝试负载()但我只可以加载的所有帖子和后的setInterval他回到我的文章列表的顶部:/
这里是我的这个jQuery:
// Submit post like
submitPostLike: function() {
var likes = 0;
var likeBtn = $(".like-btn");
likeBtn.click(function() {
var postId = $(this).attr("rel");
$.ajax({
type: "post",
cache: false,
url: baseurl + "/like/addAction",
data: {
item_id: postId,
},
success: function(response) {
console.log("post liked -" + postId); // debug
},
complete: function() {
$(".like-txt").css("color", "blue");
setTimeout(Post.updatePostList(), 1000);
console.log("scheduler fired"); // debug
},
error: function(response, s, e) {
alert(response.responseText);
},
});
})
},
删除行动是一些我不会说的。
的Html女巫在PHP中
<?php if(hasLiked($post->post_id, $acc_id)): ?>
<button type="button" id="post_like_btn" rel="<?= $post->post_id;?>" class="dislike-btn btn btn-xs btn-default">
<div class="like-txt"><i class="glyphicon glyphicon-thumbs-up"></i> Like </div>
</button>
<?php else : ?>
<button type="button" id="post_dislike_btn" rel="<?= $post->post_id;?>" class="like-btn btn btn-xs btn-default">
<i class="like glyphicon glyphicon-thumbs-up"></i> Dislike
</button>
<?php endif; ?>
hasLiked()是checkig PHP函数,如果该职位已经通过该帐户喜欢循环创建。如果帐户存在db显示不喜欢按钮。
现在如何生活刷新像load()函数时,有人喜欢帖子?所有这些工作,但只有当我刷新页面时,文本才是蓝色。
你是对的,它必须是我的一部分DOM – Ivan