An app I'm working on using the Play! Framework has an object called gift with a boolean property, called Taken. How do I show the state of this value as a checkbox on my view? I've tried :-
<input id="gift_Taken" class="" type="checkbox" name="gift.Taken" value="true" />
<input type="hidden" name="gift.Taken" value="false" />
based on examples I've seen from the autogenerated CRUD forms, but the checkbox is not checked when the property is True, which is what I'm aiming for.
Anyone know the correct way to achieve this?
You just need to set the
checked
value against the checkbox, if the value is true.for example (assuming the object sent in from the view is called
gift
, and the boolean value is calledTaken
.The accepted answer is actually not 100% correct as it doesn't handle the "unchecked" case. To handle both cases you need a hidden field:
Note that the placement seems to be important, so the hidden field must be after the checkbox.
Writing a custom template tag for this, makes it easy not to forget the hidden input (put this into views/tags/checkbox.html):
Then call this template like this:
See also the related discussion on the play framework list: https://groups.google.com/forum/?fromgroups=#!topic/play-framework/HygQuYF3a8E
If you are able to use javascript, you can use: