2012-02-29 90 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/