5

我正在开发一个 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>

4

1 回答 1

10

首先,给你的单选按钮一些类名,这样你就可以更容易地在 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"));
});
于 2012-09-17T13:14:07.287 回答