2017-02-21 2 views
0

Ich versuche nur eine Variable in Jquery zu setzen, damit ich einige html ändern kann und ich die folgende Fehlermeldung erhalten:Unerwartete Kennung, wenn django Variable in jquery Zugriff

(index):208 Uncaught SyntaxError: Unexpected identifier

ich alles überprüft haben viel Ich habe das Gefühl, dass es irgendwo ein ärgerlicher Tippfehler sein wird, aber ich brauche Hilfe, ich kann es nicht länger anstarren. Hier ist meine Jquery:

<script> 
// make this document specific and move to another file...? 
$(document).ready(function() { 
    //set some variables e.g. 
    var1 = 5; 
    for (var i = 0; i < var1; i++) { 
     // do things 
     var2 = 1; 
     var3 = 10; 
     for (var j = var2; j <= var3; j++) { 
      //more stuff 
     } 
     var change_start = $('td').filter(function() { 
      return Number(this.textContent) == var2; 
     }); 

     ///This line is raising an error!!! 
     var the_person = {{ person }}; 

     var add_name = change_start.prepend('<a href="#"><center>'+the_person+'</center></a>'); 
    } 
}); 

</script> 

ich viel herausgenommen haben, so ist es einfach, zu betrachten. Das Skript funktionierte gut, bis ich die letzten 3 Zeilen hinzugefügt habe, also muss es da sein. Fürs Erste ist dieses Skript im HTML-Dokument, ich plane, es später zu verschieben. Ich überlasse die Person an die Vorlage in der Ansicht, die es wie folgt rendert:

def holiday(request): 
    user = request.user 
    # get persons username 
    person_id = Person.objects.get(user_name_check=request.user) 

    #.... 


    context = { 
     "person": person_id, 
     "start_dates": start_list, 
     "end_dates": end_list, 
     "people": person_list, 
    } 
    return render(request, "tande/calendar.html", context) 

Vielen Dank!

Antwort

3

Wenn die Variable kein JSON-Objekt ist, sollte sie in Anführungszeichen stehen. siehe: https://stackoverflow.com/a/4153424/5433407

heißt var the_person = "{{ person }}";

For now this script is in the html document, I plan to move it later.

Mit django Template-Variablen wird nicht funktionieren, wenn Sie dies nehmen aus dem HTML finden Sie unter: https://stackoverflow.com/a/32998283/5433407

+1

Großen Dank, dass es fertig ist! Ah ja, ich dachte, ich könnte die Template-Variablen im HTML-Dokument definieren, bevor ich das .js-Dokument importiere - auf diese Weise kann ich den anderen Code in ein js-Dokument schreiben, um es zu versäubern? –

Verwandte Themen