如何将单选按钮与rails中的文本字段链接?

时间:2015-12-10 16:13:54

标签: html ruby-on-rails forms radio-button

<div class="form-group">
  <%= f.label :Owner %><br>
  <%= f.radio_button :owner, "Option1" %>
  <%= f.label :owner, "Option1" %><br>
  <%= f.radio_button :owner, "Option2" %>
  <%= f.label :owner, "Option2" %><br>
  <%= f.radio_button :owner, value: ""} %>
  <%= f.text_field :owner %>
</div>

所以我有几个选项用于单选按钮,最后一个我想用文本字段打开它。基本上,我希望表单在用户开始在文本字段中键入时选择最后一个单选按钮。有没有办法将这两件事联系起来?我知道在html中你可以把文本字段代码放在radio_button代码中,但我认为这不可能在rails中。

1 个答案:

答案 0 :(得分:3)

您可以使用jquery来实现此目的。您只需要为文本字段编写onChange函数,在该函数中,您可以将最后一个无线电输入设置为checked 考虑你的观点:

<div class="form-group">
  <%= f.label :Owner %><br>
  <%= f.radio_button :owner, "Option1" %>
  <%= f.label :owner, "Option1" %><br>
  <%= f.radio_button :owner, "Option2" %>
  <%= f.label :owner, "Option2" %><br>
  <%= f.radio_button :owner, value: "", :class => "custom" %>
  <%= f.text_field :owner, :class => "user-defined" %>
</div>

这个的jquery函数是:

$(".user-defined").change(function(){
  if($(this).val()){
    $(".custom").prop('checked', true);
  }
  else{
    $(".custom").prop('checked', false);
  }
});

这未经过测试,但我希望它能为您提供正确的方向。