【问题标题】:Radio button Rails单选按钮 Rails
【发布时间】:2017-03-20 07:08:56
【问题描述】:

我正在使用 Rails 开发一个基于测验的网站,需要帮助。 我正在生成一个包含所有问题和选项的表格。我需要用户只选择一个选项并提交。 代码如下:

<%=form_tag(action: "evaluation", method: "post", class: "nifty_form") do %>
<%= @exam.name %>
<%= label_tag(:q, "Search for:") %>
<%= text_field_tag(:q) %>
<% if @exam.questions.any?%>
    <%@exam.questions.each do |question|%>
        <p><%= label_tag(question.id, question.content)%></p>
            <ul>
            <% if question.options.any?%>
                <% question.options.each do |option|%>
                    <li><%= radio_button_tag(option.id, option.content)%> <%= option.content%></li>
                <% end %>
            <%else%>
                <p>No options</p>   
            <% end %>
            </ul>
    <% end %>
<%else%>
    <p>No questions</p>
<% end %>
<%= submit_tag("Submit") %>

现在我面临的问题是,这样呈现的单选按钮就像所有可以选择的问题一样,一旦选择它们就不能取消选中。 请帮忙。

【问题讨论】:

  • 你的意思是单选按钮必须可以取消选中?
  • 将单选按钮标签的必需属性设置为true。
  • @penguin 我的意思是,如果一个问题有四个选项,我只需要其中一个可以选择,但在这种情况下,所有选项都可以选择。

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


【解决方案1】:

单选按钮名称对于所有选项都应该是唯一的。如果每个单选按钮的名称不同,则它属于每个组。

试试这个:

<% question.options.each do |option|%>
<li><%= radio_button_tag(question.id, option.id)%> <%= option.content%></li>
<% end %>

【讨论】:

  • 该名称已经是唯一的,因为它们来自问题 ID 和选项 ID。
猜你喜欢
  • 1970-01-01
  • 2010-10-12
  • 2011-04-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-16
  • 2011-11-20
  • 2017-07-06
相关资源
最近更新 更多