2011-02-13 204 views
0

我正在使用jQuery AJAX實現投票系統。我正在使用此代碼:jQuery查找具有特定類的所有元素

$(".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.

回答

1

以數字開頭的ID無效。

$(".vote_up").click(function(){ 
    var clickedElemid = this.id; 

    var pElems = $("p." + clickedElemid); 
}); 
+0

謝謝Rahul。在我的頁面上,我有這些p元素,投票和向下投票按鈕。所以目前,無論我點擊了什麼,它的變化都是(因爲它們具有相同的ID),我如何定位p元素的不同類名 - 即。 votes_up和votes_down? – benhowdle89 2011-02-13 11:37:22

相關問題