7

我有一个status在我的域中调用的属性,它的String类型可以有两个值中的任何一个Applied , NotApplied

我有两个复选框来输入这个值。在我的编辑页面中,我想显示这两个复选框。

如果值为 , statusApplied必须选中相应的复选框。

我的代码

 <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 }" />

但这里两个复选框都被选中。

必须有一种方法来检查该值,即如果状态 = 已应用,则必须检查该特定复选框,否则应取消选中。

有什么办法吗?

4

2 回答 2

5

如文档中所述,使用该checked属性来控制复选框的状态。在这里,您可以添加任何表达式来确定 的状态: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 g :radioGroup将是更好的选择。使用复选框,用户可以同时选择值和.NotAppliedAppliedNotApplied

于 2012-07-27T05:06:00.387 回答
2

checkBox 的值应该是布尔值

<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" }" />
于 2012-07-26T13:41:12.957 回答