如果使用Formtastic选中“其他”收音机或复选框,则显示/隐藏div

时间:2012-07-28 17:26:22

标签: formtastic

这与其他问题非常相似。我知道如何使用HTML / Javascript,但我的问题特定于Formtastic。

(这是几乎完全相同的问题的链接,除了我需要的是弄清楚如何让Formtastic发出类似于此处示例的HTML:Show/hide div if "other" radio OR checkbox is checked

通常你会有一个单选按钮列表:

  • 选择1
  • 选择2
  • 选择3

嗯,这一切都很好,花花公子,Formtastic轻松处理它。但是当我想要这个时会发生什么:

  • 选择1
  • 选择2
  • 选择3
  • 其他:[此处输入文字]

在我点击“其他”之前,文字输入应该是灰色的。如果我选择“其他”,我需要用户输入它的内容。 (同样的论点也适用于复选框。)

我意识到交互性是Javascript,而不是Formtastic的工作。我所说的是实际的标记。

有没有办法让Formtastic发出这个?

1 个答案:

答案 0 :(得分:0)

Formtastic没有任何开箱即用的功能,主要是因为我不知道在发布表单数据时params的外观应该是什么样的模式。如果没有一个惯例和对模型结束的良好支持,我们感觉我们只能烘焙一些可能对某些人有用的东西。

好消息是,您可以使用自定义输入半自动解决自己的解决方案。而不是:as => :select:as => :select_with_other,然后开始在SelectWithOtherInput中建立自己的app/inputs/select_with_other_input.rb

class SelectWithOtherInput < Formtastic::Inputs::SelectInput end

您想要查看SelectInput的源代码及其包含的模块,以了解您需要覆盖的内容以获得您想要的内容,但这是唯一的方法在这个时候做。

如果你可以为此建立一个好的模式,我很乐意看一个补丁。