我正在使用jQuery AJAX来实现投票系统。我正在使用此代码:
$(".vote_up").click(function(){
var target = $(this);
var id = this.id;
var vote = $(this).attr("class");
var voteCount = $(this).next('p').attr("class");
var data = "id=" + id + "&vote=" + vote;
$.ajax
({
context: this,
type: "POST",
url: "vote.php",
data: data,
dataType: "json",
cache: false,
success: function(data)
{
target.attr('disabled','disabled');
for(var x in data) {
$("." + voteCount).html(data[x].vote_up);
}
}
});
});
我通过以下代码获得了输入和相应的<p>
元素:
while ($row = mysql_fetch_array($result)){
echo "<p>" . $row['content'] . "</p>";
echo "<p>Posted by " . $row['username'] . "</p>";
if($_SESSION['username']){
echo "<input type='button' id='".$row['id']."' class='vote_up' value='vote up'></input>";
}
echo "<p class='votes_up ".$row['id']."'>" . $row['vote_up'] . "</p>";
if($_SESSION['username']){
echo "<input type='button' id='".$row['id']."' class='vote_down' value='vote down'></input>";
}
echo "<p class='votes_down ".$row['id']."'>" . $row['vote_down'] . "</p>";
echo "<hr />";
}
当用户按下jQuery成功函数的vote_up或vote_down按钮时,它应该更新页面上的所有<p>
元素,其类名与输入按钮的ID相同。例如,如果使用ID 12按下输入,那么将有5个<p>
元素,类名为12.
答案 0 :(得分:1)
以数字开头的ID无效。
$(".vote_up").click(function(){
var clickedElemid = this.id;
var pElems = $("p." + clickedElemid);
});