Play框架 - 复选框处理 [英] Play Framework - Checkbox processing
问题描述
如何处理Play中的复选框输入!框架?我应该在控制器上以字符串的形式捕获值吗?如何获得
的值是由用户检查的?
这是我的复选框的html代码
#{list items:categories,as:'category'}
< tr>
< td>< input type =checkboxname =categoryid =category - $ {category.name}value =$ {category.id}/>< label for = 类 - $ {category.name} > $ {category.name}< /标签>< / TD>
< / tr>
#{/ list}
为了显示特定术语的状态(实际上有更多术语,
考虑具有多个术语的项目,这就是为什么您看到
名称为selectedTerms的情况) :#{form @ ProjectController.update(project.alias),enctype:'multipart / form-data',class: 'well form-horizontal'}
#{list terms,as:'term'}
< input type =checkboxname =selectedTermsvalue =$ {term.name}/ >
< span> $ {term.name}< span>
#{/ list}
#{/ form}
问题是:我怎么知道用户选择了哪些条款是
那么,Play让我将这些条款定义为List,check如下:
?
public static void update(String alias,List< String> selectedTerms){
// play with selected条款
}
请注意:selectedTerms列表仅包含
由用户选择(TRUE)。因为我有他们的名字(或ids或
你想要的),所有的问题都解决了:)
Ps:你可能会问:你怎么显示这些在你看
后保存在数据库中的视图?#{列出术语,如:'term'}
< input type =checkboxname =selectedTermsvalue =$ {term.name}$ {term.selected? 检查:} />
< span> $ {term.name}< / span>
$ {/ list}
感谢Cristian Boariu ,这里是你的灵感链接:
http://crisdev.wordpress.com/2012/05/19/play-framework-get-checkbox-value-from-view- in-controller /
How do I process a checkbox input in Play! Framework? Should I catch the value as a String at the controller? How to get what values are checked by a user?
This is the html code of my checkbox
#{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}
To show the state of a specific term (actually there are more terms, think about a Project having multiple terms, that’s why you see the name being selectedTerms) in a view I did:
#{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}
Now the main question is: how do I know which of these terms were selected by the user?
Well, Play let me to define these terms as a List, check below:
public static void update(String alias, List<String> selectedTerms) { //play with selected terms }
Please note: selectedTerms list will contain ONLY the terms which are selected (TRUE) by the user. Because I have their names (or ids or what you want) all the problems are solved:)
Ps: You will probably ask: how do you show these in the view after you saved them in db?
#{list terms, as:'term'} <input type="checkbox" name="selectedTerms" value="${term.name}" ${term.selected ? 'checked':''}/> <span>${term.name}</span> #{/list}
Thanks to Cristian Boariu, here is the link for your inspiration:
http://crisdev.wordpress.com/2012/05/19/play-framework-get-checkbox-value-from-view-in-controller/
这篇关于Play框架 - 复选框处理的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!