4

我真的是 Scala 的初学者,如果我在这里很愚蠢,请原谅我!

我正在使用 play2.0/Scala 进行作业。

我想用不同的值(这里的timesheetId)和标签(2个日期值的连接)填充一个下拉列表。所以我做了这个。

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

但是该页面有一个下拉列表,其中填充了相同的值(作为元组)和选择下的选项标签。

重载的方法值 [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>

请帮忙!

4

2 回答 2

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)]并且没有适用于此的方法。

于 2012-04-09T05:55:37.297 回答
0

在您的 play 安装附带的 samples/java 安装目录中有一个很好的示例。见“表格”。注册 - > 国家

于 2012-06-17T06:50:11.760 回答