2012-02-29 80 views
1

如何處理Play中的複選框輸入!框架?我應該在控制器上以字符串的形式捕獲值嗎?如何獲得用戶檢查什麼值 ?Play框架 - 複選框處理

這是我的複選框

#{list items:categories, as:'category'} 
    <tr> 
     <td><input type="checkbox" name="category" id="category-${category.name}" value="${category.id}" /><label for="category-${category.name}"> ${category.name}</label></td> 
    </tr> 
#{/list} 

回答

0

的HTML代碼,我想,如果你在你的表格行動List<String> category,你會得到的檢查項目的值的列表。

0

要顯示特定項的狀態(實際上有更多項目, 想想有多個項的項目,這就是爲什麼你看到 名稱爲selectedTerms)在視圖中我所做的:

#{form @ProjectController.update(project.alias), enctype:'multipart/form-data', class:'well form-horizontal'} 
#{list terms, as:'term'} 
<input type="checkbox" name="selectedTerms" value="${term.name}"/> 
<span>${term.name}<span> 
#{/list} 
#{/form} 

現在主要的問題是:我怎麼知道用戶選擇的這些術語中的哪一個是 ?

好,玩讓我來定義這些術語列表,看看下面:

public static void update(String alias, List<String> selectedTerms) { 
//play with selected terms 
} 

請注意:selectedTerms名單將只包含這些 由用戶選擇(TRUE)的條款。因爲我有自己的名稱(或ID或 你想要的)所有的問題都解決了:)

PS:你可能會問:你怎麼在視圖中顯示這些之後,你 在DB救了他們?

#{list terms, as:'term'} 
<input type="checkbox" name="selectedTerms" value="${term.name}" ${term.selected ? 'checked':''}/> 
<span>${term.name}</span> 
#{/list} 

由於克里斯蒂安Boariu,這裏是鏈接,你的靈感:

http://crisdev.wordpress.com/2012/05/19/play-framework-get-checkbox-value-from-view-in-controller/