2012-04-02 94 views
0

こんにちは私はこの星評価ウィジェットhttp://www.fyneworks.com/jquery/star-rating/を使用して、ユーザーが特定のテーマに投票する機能を追加しています。Django星評価:負荷時に星をつける

送信投票では、jQueryのajax関数を使用してサーバー側に呼び出しを送信します。星はウィジェットによってクライアント側から生成されますが、サーバー側から平均得点と合計投票者を取得します。

私の質問は、いくつかの星が投票した被験者のために負荷をかけてマークされるように実装する方法です。

ウィジェット自体は、checked=checkedという属性を使用するだけで提供されます。私はこれまでにページロードの前にこの属性を追加するためにjQueryを使ってみました。属性を追加しましたが、ウィジェット自体が最初に実行されたため、チェックは適用されませんでした。

私はおそらく、醜い解決策に変わるサーバー側からラジオボタンを生成する必要があることがわかります。だから、どうすればいいのだろう?

$(window).load(function(){ 
    $("[value=3]").attr("checked","checked"); 
}); 
$(function() { 
    $('.auto-submit-star').rating({ 
     callback: function(value){ 
      //alert(value); 
      $.post("/process_vote/", {u_id: u_id, rating: value, m_id: hit_id, csrfmiddlewaretoken: csrf_token}, 
       function(data) { 
        alert(data); 
       }); 
     } 
    }); 
}); 
+0

おそらく、あなたは.rating()を早すぎると呼びますか? – jpic

+0

@jpic .rating()呼び出しの前です。私はコードを投稿した。 – starcorn

+0

"$(" [value = 3] ")を移動しないでください。attr(" checked "、" checked ");" "$( '。auto-submit-star')の直前。評価({"? – jpic

答えて

0

変更:付き

$(window).load(function(){ 
    $("[value=3]").attr("checked","checked"); 
}); 
$(function() { 
    $('.auto-submit-star').rating({ 

$(function() { 
    $("[value=3]").attr("checked","checked"); 
    $('.auto-submit-star').rating({ 

これは、プロセスの直線性を保証します。

関連する問題