2014-02-27 36 views
0

我有两个值的广播组。在编辑一条记录,无线电应设置为根据从database.I值使用grails单选按钮真或假检查属性

<input type="radio" name="value1" value="${someValue}" ${it.id == true ?'checked="checked"' : ''}>       
    <input type="radio" name="value1" value="${someValue}" ${it.id == false ? 'checked="checked"' : ''}> 

使用这种代码选中或取消选中,给我语法错误。请纠正我的语法。

回答

3

不能使用:

<g:radio name="value1" value="${someValue}" checked="${it.id}" /> 

(假设it.id是一个布尔值,你好像说)

+0

使用这个checked =“true”或“false”来检查方框。即使它具有“假”值,也会检查。 – monal86

+0

是的,它应该是'checked =“$ {true}”或'checked =“$ {false}”' –

+0

我试过使用checked =“$ {true}”或$ {false},但即使这个值是假的,当我在浏览器中检查时,我同时收到两个收音机:checked =“checked” – monal86

1

看起来你必须走这漫长的路。 (假设it.id产生一个布尔)

<g:if test="${it.id}"> 
    <g:radio name="value1" value="${someValue}" checked="${it.id}" /> 
</g:if> 
<g:else> 
    <g:radio name="value1" value="${someValue}" /> 
</g:else> 

您可以在此情况下,使用HTML input代替​​为好。

+0

您建议的方法有效!但应该有更有效率的东西。非常感谢! – monal86

+0

奇怪的是,我建议的版本似乎为我工作 - 至少它与2.3.6 –

+0

@tim_yates我知道[发生了什么](http://pastebin.com/ztGn8ajU)。离职前我没有测试,但现在我做了。我非常怀疑OP以示例代码中显示的错误方式使用它。 OP必须纠正该问题,并接受你的回答。 – dmahapatro