2013-03-13 81 views
1

我有一個表單,其中一些文本字段只能在特定條件下可見。基本上,有一個選擇列表,並根據選擇的內容,其他字段顯示與否。所以默認情況下,我需要隱藏將輸入封裝在由simple_form gem生成的表單中的div。隱藏輸入simple_form,Ruby on Rails

例子:

$("div.s_n1").hide(); 
$("div.s_n2").hide(); 
$("div.s_n3").hide(); 
+1

就目前來看,這個問題有點含糊,你能詳細說明你在試圖隱藏輸入時遇到什麼問題嗎? – fmendez 2013-03-13 15:04:55

+0

你想有一種用戶不需要填寫的生成字段?如果是這樣,請嘗試hidden_​​field_tag。如果不是那麼抱歉,我misunderstud :) – Zippie 2013-03-13 15:05:24

+0

編輯的問題。 – Vitaly 2013-03-13 18:18:59

回答

1

簡單的形式,如果你需要輸入字段作爲隱藏使用這些代碼 <%:

= simple_form_for 
    = f.select ... 
    = f.input :s_n1, :required => true 
    = f.input :s_n2, :required => true 
    = f.input :s_n3, :required => true 

應該由jqyuery行爲相同,隱藏() = f.input:s_n,:as =>:hidden%> 我覺得它比使用jquery代碼更好用

+2

':as =>:hidden'和'.hide()'是不一樣的 – 2013-03-13 16:43:08

+0

是的,這不是一樣的,它改變了輸入以改爲輸入hidden – Vitaly 2013-03-13 18:15:05

1

使用簡單形式wrapper_html屬性:

= simple_form_for 
    = f.select ... 
    = f.input :s_n1, required: true, wrapper_html: { class: 'hide' } 
    = f.input :s_n2, required: true, wrapper_html: { class: 'hide' } 
    = f.input :s_n3, required: true, wrapper_html: { class: 'hide' }