2012-07-26 11 views
6

に基づいてチェックし、私はStringタイプである自分のドメインでstatus属性と呼ばれている二つの値Applied , NotAppliedGrailsの-Gsp - チェック・ボックスを作成する方法は、フィールドの値

のいずれかを持つことができ、私は2つのチェックを持っていますこの値を入力するボックス。私の編集ページで私はこれらの2つのチェックボックスを表示したい。

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

が、ここでは、両方のチェックボックスがチェックされています。

ステータスを確認する方法がある必要があります。つまり、ステータスが[適用]であれば、そのperticularチェックボックスをクリックしないとチェックを外す必要があります。

これを実行する方法はありますか?するcheckBoxの

答えて

4

使用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またはNotAppliedg:radioGroupがより良い選択でしょう。チェックボックスを使用すると、ユーザはAppliedNotAppliedの両方の値を選択できます。

2

値はdocsに説明するように、チェックボックスの状態を制御するブール

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

checkBoxがブール値を持つ必要があるというハードコードルールはありますか? – maaz

+0

いいえ - 'g:checkBox'は' value'を持つことができます。 – aiolos

+1

checkboxの値は論理値でなければなりません。 その他の質問は、あなたが渡した値をGroovyが解析する方法です。 http://groovy.codehaus.org/Groovy+Truth –

関連する問題