0

这很像其他被问到的问题。我知道如何使用 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 发出这个?

4

1 回答 1

0

Formtastic 对此没有任何开箱即用的东西,主要是因为我不知道在发布表单数据时参数应该如何显示的既定模式。如果没有约定和模型端的良好支持,感觉就像我们只是半生不熟的东西可能对某些人有用。

好消息是您可以使用自定义输入来完成您自己的解决方案。而不是:as => :selectdo :as => :select_with_other,然后开始建立自己SelectWithOtherInputapp/inputs/select_with_other_input.rb

class SelectWithOtherInput < Formtastic::Inputs::SelectInput end

您需要查看 SelectInput 的源代码及其包含的模块,以了解您需要覆盖什么以获得所需的内容,但这是目前唯一的方法。

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

于 2012-07-28T23:28:54.070 回答