首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ajax投票系统投票显示

Ajax投票系统投票显示
EN

Stack Overflow用户
提问于 2014-03-19 16:51:40
回答 2查看 532关注 0票数 1

我在我的一个项目中使用ajax投票系统。问题是我用一个带有id的div来显示选票。因此,当有人在任何一篇文章中点击“向上”或“向下”时(一页中有这么多的帖子)。它是一个php循环)它总是在第一个div中显示。这是我的密码

代码语言:javascript
复制
$(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;
            $.ajax({
                type: "POST",
                url: "vote_up.php",
                data: dataString,
                cache: false,
                success: function(html) {
                    $("#display-vote").html(html);
                }
            });
        } else {
            $(this).fadeIn(200).html;
            $.ajax({
                type: "POST",
                url: "vote_down.php",
                data: dataString,
                cache: false,
                success: function(html) {
                    $("#display-vote").html(html);
                }
            });
        }
        return false;
    });
});

HTML

代码语言:javascript
复制
<div class="vote-box">

<a href="" class="vote" id="<?php echo $PostId; ?>" name="up"></a>

<div id="display-vote"><?php echo $Votes; ?></div>

<a href="" class="answer-vote down" id="<?php echo $PostId; ?>" name="down"></a>

</div>

我是否可以在正确的地方显示选票呢?任何帮助都很合适。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-03-19 17:07:06

当然不用身份证了?

HTML:

代码语言:javascript
复制
<div class="vote-box">

   <a href="" class="vote" id="<?php echo $PostId; ?>" name="up"></a>

   <div class="display-vote"><?php echo $Votes; ?></div>

   <a href="" class="answer-vote down" id="<?php echo $PostId; ?>" name="down"></a>

</div>

JavaScript:

代码语言:javascript
复制
success: function(html) {
    $(this).parent().find('.display-vote').html(html);
}
票数 3
EN

Stack Overflow用户

发布于 2014-03-19 17:07:42

Id属性应该是唯一的。如果您有多个具有相同id的元素,那么在执行类似的操作时,$('#myNotSoUniqueId')总是会返回第一个元素。

作为一个快速的解决方案,我建议你不要

代码语言:javascript
复制
<div id="display-vote"><?php echo $Votes; ?></div>

有类似的

代码语言:javascript
复制
<div class="display-vote" data-id="<?php echo $PostId; ?>">
  <?php echo $Votes; ?>
</div>

在javascript中有这样的东西:

代码语言:javascript
复制
$(".display-vote[data-id='" + postId +"'])

按特定的数据id属性选择元素

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22512806

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档