Forms 提交包含多个Select in Play Framework for Scala的表单

Forms 提交包含多个Select in Play Framework for Scala的表单,forms,scala,html-select,playframework-2.3,Forms,Scala,Html Select,Playframework 2.3,我在表单中有一个多选项。根据Play Framework的文档,我需要“重复值”,以使所有选定的选项适合我的数据结构的List[String]属性 case class MyFormData ( fq_cset: Option[List[String]] ) val myForm: Form[MyFormData] = Form( mapping( "fq_cset" -> optional(list(text)) ) )(MyFormData.apply _)

我在表单中有一个多选项。根据Play Framework的文档,我需要“重复值”,以使所有选定的选项适合我的数据结构的List[String]属性

case class MyFormData (
  fq_cset:  Option[List[String]]
)


val myForm: Form[MyFormData] = Form(
  mapping(
     "fq_cset" -> optional(list(text))
  )
)(MyFormData.apply _)(MyFormData.unapply _) 
我引用Play的文档:

当您使用类似这样的重复数据时,浏览器发送的表单值必须命名为emails[0]、emails[1]、emails[2]等。

我不知道如何命名上面提到的值。我试图创建一个像这样的select元素

<select name="fq_cset">
  <option name="fq_cset[0]" value="A" selected="selected">Value A</option>
  <option name="fq_cset[1]" value="B"                    >Value B</option>
  <option name="fq_cset[2]" value="C" selected="selected">Value C</option>
  <option name="fq_cset[3]" value="D"                    >Value D</option>
</select>
而不是

/path?fq_cset[0]=A&fq_cset[2]=C
由于缺少方括号中的索引,MyFormData类中名为fq_cset的List[String]属性中的参数无法正确绑定


我怎样才能让它正常工作?这是获得所需内容的正确方法,还是我误解了文档?

该文档实际上不适用于多个select元素。您要将select的名称设置为fq_cset[]。不要在选项上设置名称,这不会起任何作用。此外,您在选择时忘记了多个。请参见示例。谢谢,它工作得非常出色
/path?fq_cset[0]=A&fq_cset[2]=C