如果在rails上的ruby中ckecked复选框,则显示表单的其余部分 [英] show rest of a form if a checkbox is ckecked in ruby on rails
本文介绍了如果在rails上的ruby中ckecked复选框,则显示表单的其余部分的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我需要向我的用户询问是否会使用信用卡支付服务...如果检查了选项pay_with_card?它必须显示其余的形式,要求其他数据,如卡号,邮件等,如果用户不检查它,它必须显示一条消息,问题是...我怎么能这样做?提前感谢
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 %>
推荐答案
display:none;,然后在复选框中添加一些javascript以将其改为display:block;
Make the card number/mail details div style="display:none;", then add some javascript to the checkbox to change it to 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 %>
</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>
这篇关于如果在rails上的ruby中ckecked复选框,则显示表单的其余部分的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文