AJAX / Jquery仅在单击特定按钮时更新特定div

时间:2011-07-30 09:24:38

标签: php jquery ajax

我有以下AJAX功能来更新点击的投票。

$(function() {
            $(".vote").click(function()
            {
            var id = $(this).attr("id");
            var name = $(this).attr("name");
            var dataString = 'id='+ id ;
            var parent = $(this);

            if (name=='up')
            {
            $(this).fadeIn(200).html('<img src="/content/voting/yes-enb.JPG" />');
            $.ajax({
            type: "POST",
            url: "up_vote.php",
            data: dataString,
            cache: false,

            success: function(html)
            {
            parent.html(html);
            }
            });
            }

});

和div / span html代码如下

<span class="vote"  id="53" name="up" style="text-decoration:none; color:none; margin:5px; ">
<img src="/content/voting/yes-enb.png" width=12 height=12 alt=""> 
<span style="text-decoration:none; color:none">'.$up.' </span></span>

因此,每次用户单击投票按钮时,上述AJAX代码都会递增计数器。但是在这种情况下,投票img以及投票数会得到更新。我只想要'。$ up'。部分得到刷新。这只是投票部分。

知道如何做到这一点?

2 个答案:

答案 0 :(得分:1)

您应该使用请求中的数据仅使用“投票”类更新范围内的范围。

所以改变

parent.html(html);

parent.find('span').html(html);

确保您的php文件仅返回投票值以避免重复箭头:)

答案 1 :(得分:1)

使用$('.vote > span').html(html)代替parent.html(html),而您的up_vote.php只需返回相关的数字。