Play框架 - 复选框处理 [英] Play Framework - Checkbox processing

查看:133
本文介绍了Play框架 - 复选框处理的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何处理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-horizo​​ntal'} 
#{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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆