2011-05-23 109 views
4

我有一個表格裏選中此複選框在我看來:Grails的複選框簡單的問題

<g:checkBox name="myCheckbox" value="${false}" /> 

在我的控制,我我怎麼知道,如果它被選中或不?

我想:

if(!params.myCheckbox) 
// obviously not, because it will always be true 

if(params.myCheckBox.checked) 
// also dont work. 

回答

7
if (params.myCheckbox) { 
    println "checkbox is checked" 

} else { 
    println "checkbox is not checked or myCheckbox parameter is missing" 
} 

如果需要單獨處理 「複選框未選中」 和 「myCheckbox參數丟失」,使用:

if (params.myCheckBox == null) { 
    println "myCheckbox parameter is missing" 

} else if (params.myCheckbox) { 
    println "checkbox is checked" 

} else { 
    println "checkbox is not checked" 
} 
+0

你的意思是什麼「參數丟失「? – Michael 2011-05-23 16:42:34

+0

這意味着它不在PARAMS地圖中,所以 - 如果您要提交表單,則意味着表單沒有名爲「myCheckbox」的字段。 – jjczopek 2011-05-23 16:52:12

+0

好的:p謝謝 – Michael 2011-05-23 16:58:16