私は完全に機能するjQueryでこの質問投票システムを持っています:
$(".q_upvote").click(function()
{
var vote = "vote_up";
var question_id = this.id.split('_')[1];
var votedata = "q_vote=" + vote+"&question_id="+question_id;
$.ajax({
type: 'POST',
url: 'vote.php',
data: votedata,
success: function(vote_msg){
if($.trim(vote_msg) == 'ok')
{
$("#votenum").text( parseInt($("#votenum").text()) + 1 ); }
else{
}
}
});
}
)
そして、これは HTML 部分です:
<p><span id="votenum">{$question_vote}</span>
<a id="upvote_{$qid}" class="q_upvote" href="#"><i class="icon-thumbs-up"></i></a>
私も答えで同じことをしたいです。私はこれを書きました:
$(".a_upvote").click(function()
{
var vote = "vote_up";
var answer_id = this.id.split('_')[1];
votedata = "q_vote=" + vote+"&answer_id="+answer_id;
$.ajax({
type: 'POST',
url: 'vote2.php',
data: votedata,
success: function(vote_msg){
alert(vote_msg)
if($.trim(vote_msg)== 'ok')
{
$("#answervotes").text( parseInt($("#answervotes").text()) + 1 );
}
else{
}
}
});
}
)
これは HTML 部分です:
{if isset($allanswers) eq True} {section name=res loop=$allanswers}</p>
<div text-align:center;><p> {$allanswers[res].answer_text} </p>
{if isset($smarty.session.username) eq True}
<p><span id = "answervotes">{$allanswers[res].answer_total_rate}</span>
<a id="upvote_{$allanswers[res].answer_id}" class="a_upvote" href="#""><i class="icon-thumbs-up"></i></a>
<a id="downvote_{$allanswers[res].answer_id}" class="a_downvote" href="#" "><i class="icon-thumbs-down" ></i></a></p>
{else}
<p>{$allanswers[res].answer_total_rate}</p>
{/if}
私の問題は、いくつかの回答があり、ユーザーがn番目の回答に賛成票を投じた場合、最初の番号の投票のみが変更され、n番目の回答の投票は変更されないことです。どうにかして回答票を一意にする必要があると思いますが、方法がわかりません。どうすればこれを修正できますか? ありがとう。