Comment puis-je lier une case à cocher pour un booléen dans le Jeu! cadre
Une application que je suis en train de travailler sur l'utilisation de la Jouer! Cadre a un objet appelé cadeau avec une propriété booléenne, appelé à Prendre. Comment puis-je afficher l'état de cette valeur comme une case à cocher sur mon point de vue? J'ai essayé :-
<input id="gift_Taken" class="" type="checkbox" name="gift.Taken" value="true" />
<input type="hidden" name="gift.Taken" value="false" />
basé sur des exemples que j'ai vu de l'générée automatiquement CRUD formes, mais la case n'est pas cochée lorsque la propriété est True, ce qui est ce que je vise.
Quelqu'un que vous connaissez la bonne façon d'atteindre cet objectif?
Juste mettre
value='true'
sur la case à cocher et dans votre signature de la méthode ajouter un paramètre boolean taken
, il va faire la liaison.OriginalL'auteur Rob Cowell | 2011-11-20
Vous devez vous connecter pour publier un commentaire.
Vous suffit de définir le
checked
la valeur en fonction de la case, si la valeur est true.par exemple (en supposant que l'objet de la vue est appelée
gift
, et la valeur booléenne est appeléTaken
.L'opérateur ternaire est encore plus puissant en Groovy. La caisse de l'elvis de l'opérateur groovy.codehaus.org/...
J'ai essayé et ça ne fonctionne pas. J'ai essayé
<input type="checkbox" ${true ? 'checked' : ''} />
donc cela devrait le faire vérifier tout le temps. Mais il ne le fait pas. Aucune idée pourquoi?probablement trop tard ici, mais Jouer 2.0 nécessite d'utiliser quelque chose comme
@if(gift.Taken) { "checked" }
. Je soupçonne que cette réponse est vieux, et il s'applique à une version qui n'utilise pas de@
pour code dans les templates.OriginalL'auteur Codemwnci
Accepté la réponse est en fait pas 100% correct, car il ne gère pas le "non vérifiée". Pour gérer les deux cas, vous avez besoin d'un champ caché:
Noter que le placement semble être important, de sorte que le champ caché doit être postérieure à la case.
L'écriture d'un modèle personnalisé balise pour cela, il est facile de ne pas oublier le caché d'entrée (de le mettre en views/tags/checkbox.html):
Ensuite appeler ce modèle comme ceci:
Voir également les discussions sur le jeu cadre de la liste: https://groups.google.com/forum/?fromgroups=#!sujet/jeu-cadre/HygQuYF3a8E
Merci pour la commande de pointe (par exemple en php, on utilise la même solution, mais le champ caché est placé à l'avant de la case)!
OriginalL'auteur Jan Thomä
Si vous êtes en mesure d'utiliser le javascript, vous pouvez utiliser:
OriginalL'auteur Timo Pagel