2011-12-03 9 views

答えて

3

クラスのみを使用する場合は、JavaScriptを使用して投票を処理するイベントハンドラを追加する必要があります。

だから、マークアップにonclickを配置する必要はありませんが、クラスにすべてにclickプロパティを割り当てる必要があります:

// Assuming you have your `vote()` function already 
$("a.vote-up").click(function() { 
    vote(this.id); 
}); 

これは$(document).ready()で行われ、または.on()を使用することができます新たに作成された要素にも添付します。

+0

ありがとうございます。それは実際に私が元々持っていた方法ですが、その後、私は@ redditを探していて、その方法が良かったかどうか疑問に思っていました。 –

1

いずれの場合でも、ajaxリクエストを行うonclickイベントを割り当てる必要があります(私が推測します)。

私は最初の方法を使いますが、これはvote(this、 '4')を使用するので、投票方法で "送信者"の属性を取得し、それを無効にすることもできます。

function vote(sender, votecnt) { 
    // do the ajax request 
    // ... more code ... 
    // disable future vote for the already voted item 
    $(sender).unbind("click"); // <-- assuming that the onclick event was set using javascript and not the onclick attribute 
}; 
関連する問題