喜欢不喜欢的功能AJAX

时间:2015-06-22 12:16:00

标签: javascript jquery ajax

我有这个jQuery AJAX喜欢不喜欢的脚本

<script>
$(function(){ 
    var PostID = <?php echo $PostID;  ?>; 

    $('.like-btn').click(function(){
        $('.dislike-btn').removeClass('dislike-h');    
        $(this).addClass('like-h');
        $.ajax({
            type:"POST",
            url:"rate.php",
            data:'Action=LIKE&PostID='+PostID,
            success: function(){
            }
        });
    });
    $('.dislike-btn').click(function(){
        $('.like-btn').removeClass('like-h');
        $(this).addClass('dislike-h');
        $.ajax({
            type:"POST",
            url:"rate.php",
            data:'Action=DISLIKE&PostID='+PostID,
            success: function(){
            }
        });
    });
});
</script>

现在我想将这个脚本转换为多个喜欢不喜欢的系统。 我怎么能这样做? HTML将如下所示:

<a href="#" onclick="RateSystem(LIKE, 1)">Like</a>
<a href="#" onclick="RateSystem(DISLIKE, 1)">Dislike</a>

LIKE / DISLIKE将是动作,1将是喜欢/不喜欢的帖子的ID。感谢

2 个答案:

答案 0 :(得分:3)

你可以做这样的事情。每个帖子都是div,每个div都有postId和两个控件(喜欢和不喜欢按钮)。当你点击喜欢 - 函数将获得post id并发送邮件到服务器。你必须检查函数的ajax部分。

box  ((10.0,10.0) :: Pos) ((100.0,100.0)::Pos)
$("#value").mask("?9999 9999 9999 9999");

如果您有疑问或需要更多帮助,可以问我:)

答案 1 :(得分:1)

如果您每页需要多个帖子,则可以执行此操作:

function send(action, id)
{
    var opposite;

    opposite = action === 'like' ? 'dislike' : 'like';

    $('#' + opposite + '-' + id).removeClass(opposite + '-h');
    $('#' + action + '-' + id).addClass(action + '-h');

    $.ajax({
        type:"POST",
        url:"rate.php",
        data:'Action=' + action + '&PostID=' + id,
        success: function(){
        }
    });
}

现在您只需要正确附加处理程序($PostID对于循环中的每个帖子必须不同):

<a href="#"
    id="like-<?php echo $PostID; ?>"
    onclick="send('like', <?php echo $PostID; ?>)">Like</a>
<a href="#"
    id="disloke-"<?php echo $PostID; ?>"
    onclick="send('dislike', <?php echo $PostID; ?>)">Dislike</a>

这只是代码的布局,可能存在缺陷。它与我们开始的地方有很大的不同,所以只有你可以实际测试它,看看它需要改进的地方。