2013-03-13 79 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' }