【发布时间】:2016-08-09 00:23:42
【问题描述】:
我正在尝试弄清楚如何在我的 Rails 4 应用程序中使用 jQuery。
我的表中有一个布尔属性。我使用表单中的单选按钮提出问题以获得正确或错误的答案。
如果答案是真的,我的目标是提出后续问题,这些问题在表格中选择为真之前是隐藏的。
我有这个表单问题:
<%= f.input :ethics_relevance, as: :radio_buttons, :label => 'Is an ethics review relevant?' %>
</div>
<div id="project_ethics_relevance_content" class="content hidden">
<div class="row">
<%= f.simple_fields_for :ethics do |f| %>
<%= render 'ethics/ethic_fields', f: f %>
<% end %>
</div>
<div class="row">
<div class="col-md-6">
<%= link_to_add_association 'Add an ethics consideration', f, :ethics, partial: 'ethics/ethic_fields' %>
</div>
</div>
</div>
然后在我的 app/assets/javascripts/projects.js 文件中,我有:
jQuery(document).ready(function() {
jQuery("#project_ethics_relevance").on('click', function() {
console.log("here I am ")
if (jQuery(this)[0].value) {
jQuery('#project_ethics_relevance_content').removeClass('hidden');
} else {
jQuery('#project_ethics_relevance_content').addClass('hidden');
}
});
});
我知道上面的尝试是错误的,我试图根据我从这篇文章中收集到的信息来做到这一点:
Rails 4 form: conditional display of fields based on radio button selection
谁能看到我需要做什么才能让表单根据单选按钮表单选择取消隐藏隐藏字段?
Chrome 检查器在表单上显示:
<div class="form-group radio_buttons optional project_ethics_relevance"><label class="radio_buttons optional control-label">Is a research ethics review relevant?</label><span class="radio"><label for="project_ethics_relevance_true"><input class="radio_buttons optional" type="radio" value="true" name="project[ethics_relevance]" id="project_ethics_relevance_true">Yes</label></span><span class="radio"><label for="project_ethics_relevance_false"><input class="radio_buttons optional" readonly="readonly" type="radio" value="false" name="project[ethics_relevance]" id="project_ethics_relevance_false">No</label></span></div>
【问题讨论】:
-
您能否提供您拥有的最终 HTML(以及 NOT ruby 代码)?您似乎没有任何带有
id="project_ethics_relevance"的单选按钮。 -
我没有为问题分配 div id。只有内容。在 jQuery 方法中,对 project_ethics_relevance 的顶行引用是对项目表的引用,其属性名为 :ethics_relevance。这种方法似乎适用于我代码的其他部分的隐藏和显示(我只是还没有尝试让它在单选按钮上工作)。
-
你说你希望当一个按钮被移动为真时发生一些事情,那么按钮在哪里以及如何检查它是否被移动为真?
-
表单中有一个radio_buttons元素,用于:read_relevance - 选择是/ true时,我希望jQuery响应 span>
-
如前所述 - 如果您需要帮助,请提供 html 的输出,以便为您提供帮助。
标签: jquery ruby-on-rails forms