3

次のコードは、私が現在vote.phpに投稿IDを与えるために使用しているものですが、これは現在[object Object]を返します。リンクがクリックされたときに正しい 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>

ありがとう!

4

3 に答える 3

3

ajax呼び出しをクリックハンドラーにバインドする必要があります。

$(document).on("click","a",function(e){
    $.ajax({  
    type: "POST",  
    data: "id=" + $(this).attr("id"), 
    url: "vote.php"
    });
});
于 2012-10-22T11:32:20.297 に答える
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. DOMがロードされて準備ができた後、つまりdomreadyイベントの上または後にのみイベントをバインドします。
于 2012-10-22T11:32:32.307 に答える
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>
于 2012-10-22T11:32:42.830 に答える