【发布时间】:2014-04-21 18:12:17
【问题描述】:
带有下拉选择的 Ruby on Rails 4 表单。如果选择了多项选择,我想呈现一个页面。如果选择了 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>
【问题讨论】:
-
什么不起作用?它在做什么而不是你所期望的?
-
它不显示或隐藏 div。我得到,第 1 行的输入意外结束
-
我什么都没有,也许你应该尝试制作一个 jsfiddle,尽管需要注意的一件事是我不相信 .val() 像你期望的那样工作?
标签: javascript jquery ruby-on-rails