tom*_*rlh 3 java forms combobox playframework
我正在尝试使用Play的帮助器@select来填充组合!在一个形式,但搜索了很多,我没有找到我真正需要的东西.
我想要这样的东西:
@select(
filmeForm("Director"),
options(Seq(aListOfDirectors))
)
Run Code Online (Sandbox Code Playgroud)
这是一种电影注册形式,可以获得导演的外键.我需要列出董事姓名,当我发送表格时,我需要获得所选董事的ID.
如果这种方式不可行,一些类似的方法将是有用的.
谁能帮我?
提前致谢.
HTML select标记可以包含一组option标记,如下所示:
<select id="directors-select" name="director">
<option value="steven-spilberg">Steven Spilberg</option>
<option value="stanley-kubric">Stanley Kubric</option>
</select>
Run Code Online (Sandbox Code Playgroud)
因此,要正确填入select的optionS,播放@select助手要求Seq包含一个元组(String, String),这将同时包含value属性,也是'标签’呈现给用户.换句话说,options参数需要是a Seq[(String, String)].以下是文档中给出的示例:
@select(
field = myForm("mySelect"),
options = Seq(
"Foo" -> "foo text",
"Bar" -> "bar text",
"Baz" -> "baz text"
),
'_default -> "Choose One",
'_disabled -> Seq("FooKey", "BazKey")
'cust_att_name -> "cust_att_value"
)
Run Code Online (Sandbox Code Playgroud)
所以,你aListOfDirectors需要包含一个(String, String)元组.但实际上解决这个问题非常简单,只需将代码更改为:
@select(
field = filmeForm("Director"),
options = aListOfDirectors.map(director => director.id.toString -> director.name)
)
Run Code Online (Sandbox Code Playgroud)
在这里,我正在考虑这aListOfDirectors是一个Seq[Director].
(Java)表单的播放文档声明"包中有几个输入助手views.html.helper".之后,我只是抬头看着戏剧scaladocs,然后导航到views.html.helper包.在那里你可以找到文档@select.
我知道当人们说"阅读文档"时有时听起来很苛刻,但考虑到框架/软件/ lib开发人员(他们真正了解框架/软件/ lib)花了他们的时间来解释如何使用framework/software/lib,我们肯定可以花些时间阅读文档.