表单选择选项以更改呈现的内容

时间:2014-04-21 18:12:18

标签: javascript jquery ruby-on-rails

Ruby on Rails 4表单,带有下拉选项。如果选择Multiple Choice,我想渲染一个页面。如果选择了True / False,我想渲染一个不同的页面。

我不知道为什么这不起作用,我的javascript知识很糟糕:

<h1>New question</h1>

<%= form_for(@question) do |f| %>

<%= render 'shared/error_questions' %>

<%= render 'form', f: f %>

<%= f.fields_for :answers do |builder| %>
<div id="mcanswers" style="display:none">
<h1>Answers</h1>
<%= render 'four_answers', :f => builder %>
<%= f.submit "Create Question", class: "btn btn-lg btn-primary" %>
</div>

<div id="tfanswers" style="display:none">
<h1>Answers</h1>
<%= render 'tf_answers', :f => builder %>
<%= f.submit "Create Question", class: "btn btn-lg btn-primary" %>
</div>
  <% end %>

<% end %>

<hr />

<%= link_to 'Back', questions_path %>

<script>

function checkType() {
    if ($('#question_question_type').val('MC'))
    {
        $('#mcanswers').css('display', 'block');
    }
    else if ($('#question_question_type').val('TF'))
    {
        $('#tfanswers').css('display', 'block');
    }
}

$(document).ready(function() {

$('select#question_question_type').on('change', function() {
    checkType();
});
});

</script>

1 个答案:

答案 0 :(得分:0)

从头开始渲染一切。 div只是隐藏它。我不得不使用控制器逻辑来决定何时渲染。