2012-04-02 23 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 2012-04-02 11:00:23

+0

@jpic它在.rating()調用之前。我發佈了代碼。 – starcorn 2012-04-02 11:03:35

+0

爲什麼不移動「$(」[value = 3]「)。attr(」checked「,」checked「);」就在「$('。auto-submit-star')。」評級({「? – jpic 2012-04-02 11:04:15

回答

0

變化:

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

有了:

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

這將確保該進程的線性度。