2012-07-26 14 views
6

Tengo un atributo llamado status en mi dominio que es String tipo puede tener cualquiera de dos valores Applied , NotAppliedGriales -Gsp - ¿Cómo hacer de entrada y salida casilla marcada basa en el valor del campo

tengo dos verificación cajas para ingresar este valor en mi página de edición quiero mostrar estas dos casillas de verificación.

Si el valor de status es Applied, debe marcarse la casilla de verificación correspondiente.

mi código

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

pero aquí tanto las casillas de verificación están activadas.

debe haber una forma de comprobar el valor, es decir, si el estado = Aplicado, entonces esa casilla de verificación debe marcarse, de lo contrario, debería estar desmarcada.

¿Hay alguna manera de hacerlo?

Respuesta

4

utilizar el atributo checked para controlar el estado de su checkBox como se describe en el docs. Aqui puede añadir cualquier expresión para determinar el estado de la 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'}"/> 

Si lo que desea es permitir que uno de los valores - AppliedoNotApplied un g:radioGroup sería la mejor opción. Con una casilla de verificación, el usuario puede elegir los valores Applied y NotApplied.

2

Valor de checkBox debe ser booleano

<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

¿Existe alguna regla de código difícil que indique que checkBox debería tener un valor booleano? – maaz

+0

No - 'g: checkBox' podría tener cualquier' valor'. – aiolos

+1

Es lógico que el valor de la casilla de verificación sea booleano. Otra pregunta es cómo groovy analizará el valor que pasa. http://groovy.codehaus.org/Groovy+Truth –

Cuestiones relacionadas