首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rails 4-在单选按钮变为true时隐藏/显示表单字段的jQuery

Rails 4-在单选按钮变为true时隐藏/显示表单字段的jQuery
EN

Stack Overflow用户
提问于 2016-08-09 00:23:42
回答 1查看 1.1K关注 0票数 1

我正在努力弄清楚如何在Rails 4应用程序中使用jQuery。

我的表中有一个布尔属性。我问一个问题,以得到一个正确或错误的答案使用单选按钮的形式。

如果答案是正确的,我的目标是问后续问题,这些问题是隐藏的,直到真在表格中被选中。

我有一个表格问题:

代码语言:javascript
复制
<%= 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文件中,我有:

代码语言:javascript
复制
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

有人能看到我需要做些什么才能根据单选按钮表单选择一个表单来隐藏隐藏的字段吗?

表格上的铬检查器显示:

代码语言:javascript
复制
<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>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-09 05:15:31

尝尝这个

代码语言:javascript
复制
<script>
jQuery(document).ready(function() {
   jQuery('[name="project[ethics_relevance]"]').on('click', function() {
      if (jQuery(this).val() == 'true' ) {
          jQuery('#project_ethics_relevance_content').removeClass('hidden');
      } else {
          jQuery('#project_ethics_relevance_content').removeClass('hidden').addClass('hidden');
      }
   });

});
</script>
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38840307

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档