更新时间: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();
}
})