2012-07-28 21 views
0

這與請求的其他問題非常相似。我知道如何用HTML/Javascript做到這一點,但我的問題是Formtastic特有的。如果使用Formta進行「其他」收音機或複選框的檢查,則顯示/隱藏div

(這是幾乎相同的確切問題的鏈接,但我需要的是找出如何讓Formtastic發出的HTML相似,這裏的例子:Show/hide div if "other" radio OR checkbox is checked

通常你就會有一個單選按鈕的列表:

  • 選擇1
  • 選擇2
  • 選擇3

那好吧,這一切都很好,並且Formtastic可以輕鬆處理它。

  • 選擇1
  • 選擇2
  • 選擇3
  • 其他:[文字在這裏輸入]

文本輸入應該變爲灰色,直到後來,當我想這會發生什麼我點擊「其他」。如果我選擇「其他」,我需要用戶輸入它的內容。 (同樣的論點也適用於複選框。)

我意識到交互性是Javascript,而不是Formtastic的工作。我在說的是實際的標記。

有沒有辦法讓Formtastic發出這個?

回答

0

Formtastic沒有任何開箱即用的功能,主要是因爲我沒有意識到發佈表單數據時參數應該看起來如何的確定模式。如果沒有一個慣例和對模型的支持,感覺就像我們只會烘焙一些可能適合某些人的東西。

好消息是,您可以用自定義輸入半自己的解決方案。取而代之的:as => :select:as => :select_with_other,然後開始建立自己的SelectWithOtherInputapp/inputs/select_with_other_input.rb

class SelectWithOtherInput < Formtastic::Inputs::SelectInput end

你想擁有在SelectInput的源代碼,它包括以感受一下模塊看看你需要重寫以獲得你想要的內容,但這是目前唯一的方法。

如果你能爲此建立一個好的模式,我很樂意看一個補丁。

相關問題