2012-10-22 28 views
3

以下代碼是我目前使用的嘗試並將帖子ID提供給vote.php,但是這當前返回[object Object]。點擊鏈接時如何能夠傳遞正確的ID?Ajax獲取元素的ID,其中存在多個元素鏈接

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script> 
<script> 
     $.ajax({ 
     type: "POST", 
     data: "id=" + $(this).attr("href", "id"), 
     url: "vote.php" 
     }); 
</script> 

<a href="javascript:;" id="1"><div id="button">Like!</div></a> 
<a href="javascript:;" id="2"><div id="button">Like!</div></a> 
<a href="javascript:;" id="3"><div id="button">Like!</div></a> 

謝謝!

+0

確保也可以將id =「button」更改爲class =「button」:) – romac

回答

3

你需要Ajax調用綁定到單擊處理:

$(document).on("click","a",function(e){ 
    $.ajax({ 
    type: "POST", 
    data: "id=" + $(this).attr("id"), 
    url: "vote.php" 
    }); 
}); 
+1

使用$ .fn.on()而不是$ .fn.click()來使用+1。 – romac

+0

不是可選的,他的主播在運行腳本時沒有加載。 –

+0

事實上,它比使用$ .ready()+ $ .fn.click();要好。 – romac

1

你應該考慮將其更改爲:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script> 
<script> 
    function vote(_obj) {  
     $.ajax({ 
     type: "POST", 
     data: "id=" + $(_obj).attr("href", "id"), 
     url: "vote.php" 
     }); 
    } 
    $(document).ready(function() { 
     $('.vote').click(function() { 
      vote(this); 
      return false; 
     }); 
    }); 
</script> 

<a id="1" class="vote"><div>Like!</div></a> 
<a id="2" class="vote"><div>Like!</div></a> 
<a id="3" class="vote"><div>Like!</div></a> 

一些注意事項:

  1. 切勿使用多頁面上具有相同ID的元素
  2. 僅在綁定事件後r您的DOM已加載並準備就緒,即在domready事件之後或之後。
0

在代碼中,你是分配環節,以"id"在href不使有很大的意義...你應該使用點擊事件處理程序...

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script> 
<script> 
     $(document).ready(function(){ 
      $('a.likeBTN').click($.ajax({ 
       type: "POST", 
       data: "id=" + $(this).attr("id"), 
       url: "vote.php" 
     }))}); 
</script> 

<a href="javascript:;" class="likeBTN" id="1"><div id="button">Like!</div></a> 
<a href="javascript:;" class="likeBTN" id="2"><div id="button">Like!</div></a> 
<a href="javascript:;" class="likeBTN" id="3"><div id="button">Like!</div></a>