Backbone.js - Quelle est la meilleure façon de vérifier une case à cocher
Ma colonne vertébrale modèle a une valeur booléenne (isRegistered). Quand j'ai rendu la vue, je veux avoir une case à cocher activée ou désactivée en fonction de la valeur vrai/faux de la valeur de type boolean.
Mon effort actuel ressemble à ça:
<input id="isRegisteredCheckbox" checked="<%= isRegistered ? 'checked': ''"/>
cela ne fonctionne pas, car, selon la Spécification du W3C l'objet d'attribut doit être complètement supprimé de décocher une case à cocher.
Comment puis-je le faire à l'aide de la dorsale modèle?
<input type="checkbox" <%= élément.visible ? "checked" : "" %> value="<%= élément.id %>"/>
OriginalL'auteur reach4thelasers | 2012-04-25
Vous devez vous connecter pour publier un commentaire.
Vous n'avez pas besoin de la
checked=
partie. il suffit d'imprimer vérifié dans la balise si elle a besoin d'être vérifié.MODIFIER
Maintenant que nous avons déterminé que juste l'impression de "vérifié" est valide en html, vous pouvez essayer pour la simplicité:
rendu:
modèle:
Pas besoin de désordre des instructions conditionnelles dans votre modèle à l'aide de cette méthode.
il est valide en HTML 4 Stricte, HTML 4 Transitoire et HTML5. Je veux dire, je suppose que c'est possible, il n'est pas valable dans le HTML4, mais, l'homme si HTML4 strict & transition, ET html 5 ne sont pas "W3C specs", je ne suis pas sûr de ce qui constitue les spécifications du W3C.
er, faire en sorte que "pas valide en html 3"... ou, gulp, xhtml...
Cela fonctionne dans tous les navigateurs que nous sommes inmplementing pour la quasi - >IE6 certainement la plus simple et la plus élégante de réponse trop
Je pensais xhtml ..c'était à la mode quand j'étais gamin:-) j'ai regardé le code html 4/5 spécifications de nouveau, et n'avait pas réalisé qu'il permet à la fois les états et les versions de long d'attributs booléens.
OriginalL'auteur tkone
Vous pouvez utiliser un test de joindre
checked='checked'
OriginalL'auteur nikoshr
J'ai l'habitude d'utiliser un
Decorator
pour ce cas. J'expose ici un exemple de la façon dont il peut ressembler à:J'ai ajouté un supplément de
css_classes
décorateur attribut de sorte que vous pouvez le voir, cette approche peut être une solution commune pour plusieurs situations.Votre
View.render
peut ressembler à ceci:OriginalL'auteur fguillen
Ici est une façon très simple de le faire.
Notez que j'utilise <% et non pas <%= pour la condition.
Vous pourriez tout simplement la valeur de isRegistered "VÉRIFIÉ" ou "" dans votre modèle et l'appel
avec quelque chose comme
OriginalL'auteur J D
J'ai eu un problème similaire où j'ai hérité de quelqu'un Django + hamlpy (HAML) + Backbone.js + Undescore.js avec Moustache modèles (quel gâchis!)
Haml de traitement dans hamlpy n'a pas exactement comme:
Ou quelque chose de similaire. J'ai eu un Django hamlpy stacktrace.
J'ai réussi à pirater l'aide de Moustache inversé sections (voir: http://mustache.github.com/mustache.5.html)
De toute façon, de l'espoir, qui permet à certains pauvres Googleurs de perdre des heures de leur force de vie!
OriginalL'auteur raf