在play框架中填充html下拉列表

Xit*_*rum 1 playframework playframework-2.0

可能重复:
在Play Framework 2.0模板中使用选项助手

普通的HTML代码:

                        <select id = "game_duration">          
                        <option>01 hour</option>
                        <option>02 hour</option>
                        <option>03 hour</option>
                        <option>04 hour</option>
                        <option>05 hour</option>
                        <option>Never end</option>
                        </select>
Run Code Online (Sandbox Code Playgroud)

要@select Play框架...
我试过按照教程,但它只打印了@select标签的简单html ..
我是新手,所以任何人都可以帮助我吗?
非常感谢你.

Mar*_*hal 13

helper在视图开头的第一个导入包:

@import helper._
Run Code Online (Sandbox Code Playgroud)

所以你可以使用那个样本:

@select(
   gameForm("game_duration"),
   options(Seq("01 hour","02 hour","03 hour","Never end")),
   '_label -> "Game duration", '_default -> "-- Select duration --"
)
Run Code Online (Sandbox Code Playgroud)

或者,您也可以使用该代码而无需先前导入helper

@helper.select(
   gameForm("game_duration"),
   helper.options(Seq("01 hour","02 hour","03 hour","Never end")),
   '_label -> "Game duration", '_default -> "-- Select duration --"
)
Run Code Online (Sandbox Code Playgroud)

重要:options(List("01 hour","02 hour","03 hour","Never end"))如果Seq(...)版本在编译时失败,请尝试使用.

顺便说一句,最有可能的是使用数值更好(即int- 更容易在数据库中存储和搜索):

...
helper.options("60" -> "01 hour","120" -> "02 hour","180" -> "03 hour", "9999" -> "Never end"),
...
Run Code Online (Sandbox Code Playgroud)

另请查看此答案以获取更多样本

  • `options(Seq("one","two"))`在2.0.3上失败但是`选项(List("one","two"))`适用于2.0.3 (2认同)