【问题标题】:Creating a simple searchbox with filters使用过滤器创建一个简单的搜索框
【发布时间】:2012-04-17 21:10:39
【问题描述】:

编辑:所以我今天学到了关于检查字符串常量的课程。解决方案是将模板中的“过滤器”更改为“过滤器”。

我正在尝试构建一个简单的搜索框,其中包含 4 个复选框来应用一些过滤器。问题是复选框永远不会返回 true,即使在开发模式下检查也是如此。

我已经这样定义了我的表单,其中Filters 是一个包含 4 个布尔值的案例类包装器:

val searchBox = Form(
   tuple("search" -> nonEmptyText,
  "filters" -> mapping(
    "filterpublic" -> boolean,
    "filterprivate" -> boolean,
    "filterstream" -> boolean,
    "filterdownload" -> boolean
    ) (Filters.apply) (Filters.unapply)
)

)

我的 html 模板是这样定义的:

@form(action = routes.Application.getResults, 'id -> "searchBox") {

  <fieldset>
  <legend>Searchbox</legend>
    @inputText(field = searchBox("search"), args = '_label -> "search",
      'placeholder -> "Type here!")

    @checkbox(field = searchBox("filter.filterpublic"), args =
 '_label -> None, '_text -> "public")

@checkbox(field = searchBox("filter.filterprivate"), args =
 '_label -> None, '_text -> "private")

    @checkbox(field = searchBox("filter.filterstream"), args =
 '_label -> None, '_text -> "streamable")

@checkbox(field = searchBox("filter.filterdownload"), args =
 '_label -> None, '_text -> "downloadable")

  <input type="submit" id="submit">
  </fieldset>
}

我完全不知道这可能源于什么。我已经查阅了该剧的教程!网站,但找不到解决此特定问题的任何内容。

【问题讨论】:

    标签: forms scala playframework-2.0


    【解决方案1】:

    我认为您也必须在模板中将“过滤器”更改为“过滤器”。所以 'filters.filterpublic' 而不是 'filter.filterpublic'。

    【讨论】:

      猜你喜欢
      • 2022-01-07
      • 2018-12-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多