在我的表单中显示复选框列表

时间:2017-07-28 00:33:04

标签: forms playframework

我希望显示许多内联复选框,如:

<label class="checkbox-inline">
  <input type="checkbox" id="inlineCheckboxA" value="optionA"> A
</label>
<label class="checkbox-inline">
  <input type="checkbox" id="inlineCheckboxB" value="optionB"> B
</label>
<label class="checkbox-inline">
  <input type="checkbox" id="inlineCheckboxC" value="optionC"> C
</label>

所以我的表格如下:

val form: Form[SearchForm] = Form(
  mapping(
    "letters" -> list(text)
  )

)(SearchForm.apply)(SearchForm.unapply _)

我可以以某种方式使用数据预填充我的表单,还是必须使用包含此'字母'数据的视图传递另一个变量?

val letters = List[String]("A", "B", "C", ...)

如果我不能用我的视图传递这个字母,那么我想我只是用我的模型传递另一个变量而只是迭代它?

1 个答案:

答案 0 :(得分:1)

您是否看过帮助者inputCheckboxGroup

这将预先填充模型中的表单元素,但您仍需要为复选框组提供一组可能的值。

例如:

@views.html.helper.inputCheckboxGroup(
  form("letters"),
  options = Seq("A" -> "alpha", "B" -> "beta", "C" -> "gamma"),
  '_label -> "My cool checkbox"
)

表格填写:

val form: Form[SimpleForm] = Form(mapping(
    "letters" -> list(text)
  )(SimpleForm.apply)(SimpleForm.unapply))

SimpleForm.form.fill(SimpleForm(List("A", "B")))

会像这样呈现一个复选框组:

[x] alpha [x] beta [ ] gamma