且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

根据Ruby on Rails中的combobox中选择的值动态更改表单

更新时间:2023-01-20 23:29:14

首先,将带有付款条件的选择框渲染为隐藏(例如,使用特定的css类)。我们假设它有id payment_terms

First, render the select box with payment terms as hidden (by using specific css class for example). Let's assume it has id payment_terms.

然后渲染服务选择框带有附加数据属性以跟踪服务 isCredit 0 | 1

Then render services select box with additional data attribute to keep track if service isCredit 0|1

<select id=services>
<% services.each do |service| %>
    <option value=<%=service.id %> data-iscredit=<%=service.type.isCredit ? '1' : '0' %>><%=service.desc %></option>
<% end %>
</select>

在JS中编写一个简单的脚本来处理更改选择填充服务的事件和显示/隐藏 payment_terms isCredit 上选择依赖。我假设你正在使用jQuery。

Write a simple script in JS to handle change event on the select populated with services and show/hide payment_terms select depening on isCredit. I'm assuming you're using jQuery.

$("#services").change(function() {
   var selopt = $(this.children[this.selectedIndex]),
       isCredit = parseInt(selopt.attr('data-iscredit'));
   if (isCredit === 0) {
       $("#payment_terms").hide();
   } else {
       $("#payment_terms").show();
   }
})