如何在Play中处理@select!骨架

时间:2016-04-08 03:05:31

标签: java forms playframework combobox

我试图使用Play的帮助器@select来填充组合!在一个形式,但搜索了很多,我没有找到我真正需要的东西。

我想要这样的事情:

@select(
    filmeForm("Director"),
    options(Seq(aListOfDirectors))
)

这是一种电影注册形式,可以获得导演的外键。 我需要列出董事姓名,当我发送表格时,我需要获得所选董事的身份。

如果不可能采用这种方式,一些类似的方法将非常有用。

任何人都可以帮助我吗?

提前致谢。

1 个答案:

答案 0 :(得分:7)

HTML C:/src/www/simple.ts (1,8): Expected identifer after 'import' 代码可以包含一组{ "compilerOptions": { "target": "es5", "module": "amd", "sourceMap": true }} 代码,如下所示:

select

因此,为了正确填充option的{​​{1}} s,播放<select id="directors-select" name="director"> <option value="steven-spilberg">Steven Spilberg</option> <option value="stanley-kubric">Stanley Kubric</option> </select> 帮助器要求select包含元组option,其中包含两者@select属性以及呈现给用户的“标签”。换句话说,Seq参数必须是(String, String)。以下是示例given at the docs

value

因此,您的options需要包含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"
)

在这里,我认为aListOfDirectors(String, String)

它在哪里记录?

播放documentation for (Java) forms表示“@select( field = filmeForm("Director"), options = aListOfDirectors.map(director => director.id.toString -> director.name) ) 包中有多个输入助手。”之后,我只是查看play scaladocs,然后导航到views.html.helper包。在那里你可以找到docs for @select

我知道当人们说“阅读文档”时有时听起来很苛刻,但考虑到框架/软件/ lib开发人员(谁真的知道框架/软件/ lib),这是一个很好的建议)花时间解释如何使用框架/ software / lib,我们肯定可以花些时间阅读文档。