ruby-on-rails – 如果复选框在轨道上的红宝石中被锁定,则显示表单的其余部分

发布时间:2019-04-22 整理:脚本之家
脚本之家收集整理的这篇文章主要介绍了ruby-on-rails – 如果复选框在轨道上的红宝石中被锁定,则显示表单的其余部分脚本之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随脚本之家小编过来看看吧!
我需要向我的用户询问是否使用信用卡支付服务…如果选中了pay_with_card选项?它必须显示表格的其余部分,要求其他数据,如卡号,邮件等,如果用户没有检查它,它必须显示一条消息,问题是……我怎么能这样做?提前致谢
<%= form_for(@product) do |f| %>
  <%= f.label :pay_with_card? %>
  <%= f.check_box :pay_with_card,{},"Yes","No"%>
  <div>
    <%= f.label :card_number %> <%= f.text_field :card_number %>
  </div>  
  <div>
    <%= f.label :mail %> <%= f.text_field :mail %>
  </div>
<% end %>

解决方法

制作卡号/邮件详细信息div style =“display:none;”,然后在复选框中添加一些javascript以将其更改为显示:block;

像这样的东西:

<%= form_for(@product) do |f| %>
  <%= f.label :pay_with_card? %>
  <%= f.check_box :pay_with_card,"No"%>
  <div id="card_details" style="display:none;">
    <%= f.label :card_number %> <%= f.text_field :card_number %>
    <%= f.label :mail %> <%= f.text_field :mail %>
  </div>
<% end %>
<script type="text/javascript">
  var checkbox = document.getElementById('product_pay_with_card');
  var details_div = document.getElementById('card_details');
  checkbox.onchange = function() {
     if(this.checked) {
       details_div.style['display'] = 'block';
     } else {
       details_div.style['display'] = 'none';
     }
  };
</script>

总结

以上是脚本之家为你收集整理的ruby-on-rails – 如果复选框在轨道上的红宝石中被锁定,则显示表单的其余部分全部内容,希望文章能够帮你解决ruby-on-rails – 如果复选框在轨道上的红宝石中被锁定,则显示表单的其余部分所遇到的程序开发问题。

如果觉得脚本之家网站内容还不错,欢迎将脚本之家网站推荐给程序员好友。

脚本之家官方公众号

微信公众号搜索 “ 程序精选 ” ,选择关注!

微信公众号搜索 “ 程序精选 ” ,选择关注!
精选程序员所需精品干货内容!

脚本之家官方公众号

微信公众号搜索 “ 程序精选 ” ,选择关注!

微信公众号搜索 “ 程序精选 ”
精选程序员所需精品干货内容!