php jquery投票系统

时间:2014-04-22 09:49:52

标签: javascript php jquery

我正在尝试实施一个简单的投票系统。我的页面上有人们可以投票的促销清单。我正在使用像 -

这样的投票链接
<button rel="promo_vote" id="promo_vote!<?php echo $promo_contents['promo_index']; ?>" class="more img-circle fa fa-thumbs-up" title="Vote"></button>

点击它之后,jquery将填充数据库中的特定促销数据。我已经正确地使用了一个按钮,将其用作投票计数器。我正在尝试动态增加其值。数据库插入完美发生但计数器没有增加。我猜它无法识别按钮。让我展示我的jquery代码。

$("[rel=promo_vote").click(function()
{
var p = jQuery(this);
var id_vote_promo = p.attr("id");
var post_id_of_promo = id_vote_promo.substring(id_vote_promo.indexOf('!')+1);
var dataString = 'post_id_of_promo='+ post_id_of_promo;

var id_unvote_promo = "promo_unvote!"+post_id_of_promo;

var vote_counter_id = "#vote_counter!"+post_id_promo;
var value = $(vote_counter_id).val();

$.ajax({
    type: "POST",
    url: "my url to controller",
    data: dataString,
    cache: false,
    success: function(res){
        value= value+1;
        $(praise_counter_id).val(value);
        $(p).replaceWith("<button rel='promo_unvote'  id='"+id_unvote_promo+"' class='more-alt img-circle fa fa-check' title=''></button>");


    }
});

return false;
});

,计数器代码是

<p class="nm">+ 
  <input type="button" value="1" class="vote_count_btn" id="vote_counter!<?php echo $promo_contents['promo_index']; ?>"  />
  People Voted
</p>

你能帮帮我吗,我错过了哪里?提前谢谢。

2 个答案:

答案 0 :(得分:0)

尝试,

$(vote_counter_id).val(value);

取代

$(praise_counter_id).val(value);

答案 1 :(得分:0)

我只是按照你应该做的方式给你。如果促销ID是唯一的,这将起作用

第1步:

根据促销索引为Paragraphs提供唯一ID。使用php来唯一地放置promo_index。在这种情况下,我使用了前缀'nm_'。您需要通过php添加动态促销索引。

<p class="nm" id="nm_<--promo_index_id-->">+ 
  <input type="button" value="1" class="vote_count_btn" id="vote_counter!<?php echo $promo_contents['promo_index']; ?>"  />
  People Voted
</p>

第2步:

将afix nm与促销索引一起使用:

$.ajax({
    type: "POST",
    url: "my url to controller",
    data: dataString,
    cache: false,
    success: function(res){
        value= value+1;
        $(praise_counter_id).val(value);
        $("nm_"+praise_counter_id).replaceWith("<button rel='promo_unvote'  id='"+id_unvote_promo+"' class='more-alt img-circle fa fa-check' title=''></button>");


    }
});