這個例子,我有同樣的問題,我的東西多選形式幫手是在播放2.任何錯誤方式,我通過將選擇重命名爲@name []來修復它。所以你爲前者創建一個模板。 selectMultiple.scala.html包含此代碼:
@(field: play.api.data.Field, options: Seq[(String,String)], args: (Symbol,Any)*)(implicit handler: helper.FieldConstructor, lang: play.api.i18n.Lang)
@values = @{ field.indexes.map { v => field("[" + v + "]").value } }
@helper.input(field, args:_*) { (id, name, value, htmlArgs) =>
<select id="@id" name="@(name)[]" @toHtmlArgs(htmlArgs) multiple="multiple">
@args.toMap.get('_default).map { defaultValue =>
<option class="blank" value="">@defaultValue</option>
}
@options.map { v =>
<option value="@v._1" @{if(values.contains(Some(v._1))) "selected" else ""} >@v._2</option>
}
</select>
}
在你的模型中的列表映射組件,您可以使用這個模板在你的HTML頁面,如:
@selectMultiple(
myForm("groupsId"),
myOptions,
'_label -> "My MultiSelect"
)
希望這可以幫助您! (請注意,我用玩斯卡拉)
什麼是「<選擇多選= '多選' ...>「??你是不是指「<選擇多個...>」? – virtualeyes