Backbone.js - Was ist der beste Weg, um zu überprüfen, eine checkbox
Mein Rückgrat Modell hat einen booleschen Wert (isRegistered). Wenn ich die Wiedergabe der anzeigen, ich will eine checkbox aktiviert oder deaktiviert, je nach true/false-Wert des boolean.
Meine aktuellen Bemühungen sieht wie folgt aus:
<input id="isRegisteredCheckbox" checked="<%= isRegistered ? 'checked': ''"/>
das funktioniert nicht, denn laut der W3C-Spezifikation, die checked-Attribut muss vollständig entfernt werden, deaktivieren Sie ein Kontrollkästchen.
Wie mache ich es mit backbone-Vorlage?
- <input type="checkbox" <%= item.sichtbar ist ? "checked" : "" % "> " value="<%= item.id %>"/>
Du musst angemeldet sein, um einen Kommentar abzugeben.
Brauchen Sie nicht die
checked=
Teil. nur drucken Sie überprüft in den tag, wenn es geprüft werden muss.BEARBEITEN
Nun, da wir festgestellt haben, dass nur drucken "aktiviert" aus ist Gültiger html-Code, können Sie versuchen, der Einfachheit halber:
render:
Vorlage:
Keine Notwendigkeit für chaotisch-Bedingungen in Ihrer Vorlage, die mithilfe dieser Methode.
Könnten Sie ein test, um zu schließen
checked='checked'
Ich war früher ein
Decorator
für diese Fälle. Ich setze hier ein Beispiel wie es aussieht:Habe ich eine zusätzliche
css_classes
decorator-Attribut so können Sie sehen, dieser Ansatz kann sein, eine gemeinsame Lösung für mehrere Situationen.Ihre
View.render
kann wie folgt Aussehen:Hier ist eine sehr einfache Möglichkeit, es zu tun.
Beachten Sie, dass ich <% und nicht <%= für die Bedingung.
Könnte man nur den Wert festlegen, der isRegistered zu "CHECKED" oder "" im Modell und nennen
etwas wie
Ich hatte ein ähnliches Problem, wo ich geerbt jemand Django + hamlpy (HAML) + Backbone.js + Undescore.js mit Schnurrbart Vorlagen (was für ein Durcheinander!)
Haml Verarbeitung in hamlpy wusste nicht genau wie:
Oder einer ähnlichen Sache. Ich habe eine Django-hamlpy stacktrace.
Habe ich es geschafft, es zu hacken, indem Schnurrbart ist invertierten Abschnitten (siehe: http://mustache.github.com/mustache.5.html)
Anyway, ich hoffe, dass hilft einigen Armen Googler von verschwenden Stunden Ihres Lebens Kraft!