如果复选框在 ruby​​ on rails 中被选中,则显示表单的其余部分 [英] show rest of a form if a checkbox is ckecked in ruby on rails

查看:14
本文介绍了如果复选框在 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><%= f.label :mail %><%= f.text_field :mail %>

<%结束%>

解决方案

将卡号/邮件详情设为 div style="display:none;",然后在复选框中添加一些 javascript 将其更改为 display:block;

像这样:

<%= form_for(@product) do |f|%><%= f.label :pay_with_card?%><%= f.check_box :pay_with_card,{}, "Yes", "No"%><div id="card_details" style="display:none;"><%= f.label :card_number %><%= f.text_field :card_number %><%= f.label :mail %><%= f.text_field :mail %>

<%结束%><script type="text/javascript">var checkbox = document.getElementById('product_pay_with_card');var details_div = document.getElementById('card_details');checkbox.onchange = function() {如果(this.checked){details_div.style['display'] = 'block';} 别的 {details_div.style['display'] = 'none';}};

I need to ask to my user if will pay a service with credit card...if it checked the option pay_with_card? it must show the rest of the form, that ask for other data like card number, mail, etc. if the user don't checked it, it must show a message, the question is...how can I do this? thanks in advance

<%= 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 %>

解决方案

Make the card number/mail details div style="display:none;", then add some javascript to the checkbox to change it to display:block;

Something like this:

<%= form_for(@product) do |f| %>
  <%= f.label :pay_with_card? %>
  <%= f.check_box :pay_with_card,{}, "Yes", "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 中被选中,则显示表单的其余部分的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
其他开发最新文章
热门教程
热门工具
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆