使用jquery在rails上获取ruby中的单选按钮值

时间:2013-11-06 14:46:50

标签: ruby-on-rails ajax jquery

我创建了一个测验,我希望每页显示一个问题,下面给出了_ans的部分视图,因为当我选中单选按钮时,下一个链接是有效的...我想要帮助获取收音机如果我选中了按钮值,如果我没有选中它,则返回null

 <div id = "main1">
  <% form_for @answer do |f|%>
    <div class = "questions">
      <div id = "passage">
        <%= "Passage"%>:<br>
      <%#= @ans.passage %>
      </div> <br>
      <label>
        <%= @s %> . <%= @ans.ques %>
      </label>  
      <div id = "options">
        <label for "options">
          <div id = "option-1">
            <%= radio_button_tag 'ans', 'ans1'%><%= @ans.ans1 %>
          </div><br>
          <div id = "option-2">
            <%= radio_button_tag 'ans', 'ans2'%><%= @ans.ans2 %>
          </div><br>
          <div id = "option-3">
            <%= radio_button_tag 'ans', 'ans3'%><%= @ans.ans3 %>
          </div><br>
          <div id = "option-4">
            <%= radio_button_tag 'ans', 'ans4'%><%= @ans.ans4  %>
          </div><br>
        </label>
      </div><br>
    </div><br><br>
    <div id = "prev">
      <%= link_to_remote "Previous", 
        :before => "Element.show('loader')",
        :success => "Element.hide('loader')",
        :update => "answers",
        :url=>{:controller=>"answers", :action=>"previous"},
        :with => "'&passed_question=#{@ans.id-1}&'+'&exam_group_id=#{@exam_group.id}&'"
      %> 
    </div>
    <div id = "next">
       <%= link_to_remote "Previous", 
        :before => "Element.show('loader')",
        :success => "Element.hide('loader')",
        :update => "answers",
        :url=>{:controller=>"answers", :action=>"previous"},
        :with => "'answer=$$('[name*=ans]:checked)[0].value+'&passed_question=#{@ans.id-1}&'+'&exam_group_id=#{@exam_group.id}&'"
      %> 
    </div>
    <div id = "sub">
      <%= link_to "Submit", final_exam_group_answers_path(@exam_group)%> 
    </div>
  <% end %> 
</div>

1 个答案:

答案 0 :(得分:0)

尝试:

$(':radio[value=ans1]').prop('checked')
$(':radio[value=ans2]').prop('checked')
$(':radio[value=ans3]').prop('checked')
$(':radio[value=ans4]').prop('checked')

每个单选按钮都会返回true或false。

在没有选择收音机时返回false,选择任何内容时为true:

!!$(':radio:checked')[0]

如果您想要返回null:

!!$(':radio:checked')[0] == false ? null : true;