如何使用scala模板中的html帮助器“options”填充下拉列表(播放2.0)

时间:2012-04-09 01:37:46

标签: scala playframework-2.0

我真的是Scala的首发,所以请原谅我,如果我在这里傻了!

我正在使用play2.0 / Scala进行分配。

我想用不同的值(timeheetId here)和标签(两个日期值的连续)填充下拉列表。所以我这样做了。

@select(effortForm("timesheetId"),options(timesheets.map(aTimesheet=> aTimesheet.timesheetId.toString -> (aTimesheet.fromDate + " to " + aTimesheet.toDate))),'_label->"Choose Timesheet (*)")

但该页面的下拉列表中填充了相同的值(作为元组)和select选项下的选项标签。

重载方法值[apply]无法应用于(List [(java.lang.String,java.lang.String)])

我希望将此视为结果

<option value="1">Sun Apr 08 18:23:32 PDT 2012 to Sun Apr 08 18:23:32 PDT 2012</option>

请帮忙!

2 个答案:

答案 0 :(得分:16)

试试这个:

@select(
  effortForm("timesheetId"),
  timesheets.map{ t =>
    t.timesheetId.toString -> (t.fromDate + " to " + t.toDate)
  },
  '_label- > "Choose Timesheet (*)"
)

查看select的实现情况,看起来第二个参数应该是Seq[(String, String)]timesheets.map{ }就是这种情况。

options(...)提供了构造Seq[(String, String)]的便捷方法,并且没有适用于此处的方法。

答案 1 :(得分:0)

您的播放安装附带的samples / java安装目录中有一个很好的示例。见“表格”。 SignUp - &gt;国家