2012-04-02 8 views
0

Hallo Ich benutze dieses Widget Widget http://www.fyneworks.com/jquery/star-rating/, um die Funktionalität für Benutzer zu einem bestimmten Thema abstimmen hinzufügen.Django Sternenbewertung: markieren Sie einige Sterne bei Belastung

Das Absenden von Abstimmungen verwendet jQuerys Ajax-Funktionen, um einen Anruf an die Serverseite zu senden. Die Sterne werden von der Client-Seite durch das Widget generiert, aber ich erhalte die durchschnittliche Punktzahl und die gesamten Wähler von der Serverseite.

Meine Frage ist, wie soll ich implementieren, so dass einige Sterne bei Belastung für ein Thema markiert sind, über die Personen abgestimmt haben.

Das Widget selbst liefert es, indem es einfach das Attribut checked=checked verwendet. Bisher habe ich versucht, mit jQuery dieses Attribut vor dem Laden der Seite hinzuzufügen. Es wurde das Attribut hinzugefügt, aber das Widget selbst wurde immer noch zuerst ausgeführt, so dass das Überprüfte nicht angewendet wurde.

Ich finde, dass ich möglicherweise die Radioknöpfe von der Serverseite erzeugen muss, die zu eine hässliche Lösung werden. Also frage ich mich, wie es gemacht werden sollte?

$(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

Vielleicht rufst du .rating() zu früh an? – jpic

+0

@jpic Es ist vor dem Aufruf .rating(). Ich habe den Code veröffentlicht. – starcorn

+0

Warum nicht "$ (" [value = 3] ") verschieben. Attr (" checked "," checked ");" kurz vor "$ ('. auto-submit-star'). Bewertung ({"? – jpic

Antwort

0

Wechsel:

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

mit:

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

Dies wird die Linearität des Prozesses gewährleisten.

Verwandte Themen