【问题标题】:Show/hide div if “other” radio OR checkbox is checked with Formtastic如果使用 Formtastic 选中“其他”单选或复选框,则显示/隐藏 div
【发布时间】:2012-07-28 17:26:22
【问题描述】:

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

【问题讨论】:

    标签: formtastic


    【解决方案1】:

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

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

    class SelectWithOtherInput < Formtastic::Inputs::SelectInput end

    您需要查看 SelectInput 的源代码及其包含的模块,以了解您需要覆盖哪些内容才能获得所需内容,但这是唯一的方法这次。

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

    【讨论】:

      猜你喜欢
      • 2011-09-01
      • 1970-01-01
      • 2013-11-30
      • 1970-01-01
      • 1970-01-01
      • 2021-02-26
      • 2017-02-04
      • 2023-02-06
      • 2015-02-21
      相关资源
      最近更新 更多