2014-02-27 32 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