2012-12-20 94 views
0

我有以下問題。我有一個名爲Car的域名,另一個名爲CarType。現在汽車有很多CarTypes,因此在創建新Car時可以添加多個CarType。Twitter Bootstrap在g中切換按鈕值:

在我的創建視圖中,我想刪除Grails爲我生成的多選。

我想我會讓它更時尚,所以我使用Twitter Bootstrap css創建了一個按鈕組,它看起來不錯。

現在我把它放在一個表格中,並替換默認的多選,我有點困惑,提交切換/選擇按鈕的值的最佳方式是什麼。

我像一個瘋子一樣Google搜索,但並沒有真正找到適合我的解決方案。

任何想法?

回答

0

你可以做的是保持生成的多選和隱藏CSS屬性。然後使用每個按鈕點擊調用的Javascript函數,在多選中選擇單擊的項目(使用CarType id)。

// select an item 
$("#multiple_select_name option:contains('1')").attr("selected","selected"); 
// remove a selected item 
$("#multiple_select_name option:contains('1')").removeAttr("selected"); 

因此,您不必更換控制器。

+0

好聽起來很合理,我把JS放在我的application.js中嗎?讓它更復雜一點的是CarTypes是一個實體,所以可以添加更多的類型。我應該爲每個按鈕設置一個隱藏值嗎? – marko

+0

我會在應用程序資源文件中創建一個新模塊,並將JS放入一個新文件中(以便您僅包含用於創建汽車UI的代碼)。通過迭代遍歷所有Cartype來生成按鈕,並且將它們的'id'放在一個隱藏的值中(如按鈕的名稱)。 –

+0

我這樣做,每次按下按鈕時,我都更新隱藏值的值,這樣我就可以跟蹤選擇的類型。 – marko