2012-03-31 58 views
2

編輯:所以我今天學習了關於檢查字符串常量的一課。解決方案是在模板中將「過濾器」更改爲「過濾器」。使用過濾器創建一個簡單的搜索框

我試圖建立一個簡單的搜索框,用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> 
} 

我完全難住這可能源於什麼。我已經諮詢了這個劇本的教程!網站,但找不到解決這個特定問題的任何內容。

回答

0

我認爲您必須在模板中將「過濾器」更改爲「過濾器」。所以'filters.filterpublic'而不是'filter.filterpublic'。

相關問題