【问题标题】:Rails show fields when radio button is checked选中单选按钮时 Rails 显示字段
【发布时间】:2012-09-17 12:51:09
【问题描述】:

我正在开发一个 Rails 应用程序,我需要在单击单选按钮时显示/隐藏某个字段。

我正在使用 javascript,但似乎无法正常工作。

关于如何解决这个问题的任何提示?

单选按钮代码

<%= radio_button 'relat', 'atu', 'yes' %>   ATU
<%= radio_button 'relat', 'atu', 'no' %>    No ATU

选中第一个按钮时将显示的字段

<div id="esatu" style="display:none">
<p>
    <label for="relat_tipus_atu">
    Tipus ATU
    </label>
    <%= select_tag :tipus_id, "<option value=''></option>".html_safe + options_from_collection_for_select(@tipus, :id, :codi) %>
</p>

【问题讨论】:

    标签: javascript jquery ruby-on-rails ruby-on-rails-3


    【解决方案1】:

    首先,给你的单选按钮一些类名,这样你就可以更轻松地在 javascript 中使用它们。

    <%= radio_button 'relat', 'atu', 'yes', {:class => "relat__atu relat__atu_yes"} %>   ATU
    <%= radio_button 'relat', 'atu', 'no', {:class => "relat__atu relat__atu_no"} %>    No ATU
    

    现在您将事件处理程序附加到更改事件。并根据单选按钮是否为“是”按钮来切换其他元素的显示。

    $(".relat__atu").on("change", function(){
      $("#esatu").toggle($(this).hasClass("relat__atu_yes"));
    });
    

    【讨论】:

    • egze,您的解决方案运行良好,我没有意识到我需要类才能使整个工作正常。再次,非常感谢!
    • 你不需要类来使它工作。您可以仅使用标签名称来编写相同的内容。它只是看起来更难看的代码:)
    猜你喜欢
    • 2020-08-16
    • 1970-01-01
    • 2016-01-15
    • 1970-01-01
    • 2016-03-13
    • 2018-08-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多