我的域名中有一个名为status
的属性,String
类型可以包含两个值中的任何一个Applied , NotApplied
我有两个复选框来输入此值。在我的编辑页面中,我想显示这两个复选框。
如果status
的值为Applied
,则必须选中相应的复选框。
我的代码
<g:message code="publicRuleInstance.course.label" default="Applied" />
<g:checkBox name="status " value="${publicRuleInstance?.status }" />
<g:message code="publicRuleInstance.course.label" default="NotApplied" />
<g:checkBox name="status " value="${publicRuleInstance?.status }" />
但是这里选中了两个复选框。
必须有一种检查价值的方法,即如果状态=已应用,则必须提取相关的复选框,否则应取消选中。
有没有办法做到这一点?
答案 0 :(得分:4)
使用checked
属性来控制checkBox的状态,如docs中所述。
在这里,您可以添加任何表达式来确定g:checkBox
的状态:
<g:message code="publicRuleInstance.course.label" default="Applied" />
<g:checkBox name="status " value="Applied" checked="${publicRuleInstance?.status == 'Applied'}"/>
<g:message code="publicRuleInstance.course.label" default="NotApplied" />
<g:checkBox name="status " value="NotApplied" checked="${publicRuleInstance?.status == 'NotApplied'}"/>
如果您只想允许其中一个值 - Applied
或 NotApplied
,则g:radioGroup将是更好的选择。使用复选框,用户可以选择值Applied
和NotApplied
。
答案 1 :(得分:2)
checkBox的值应为boolean
<g:message code="publicRuleInstance.course.label" default="Applied" />
<g:checkBox name="status " value="${publicRuleInstance?.status =="Applied"}" />
<g:message code="publicRuleInstance.course.label" default="NotApplied" />
<g:checkBox name="status " value="${publicRuleInstance?.status == "NotApplied" }" />