Во-первых, сделайте поле выбора с условиями оплаты скрытыми (например, с помощью определенного класса CSS). Давайте предположим, что у него есть идентификатор payment_terms
.
Затем выберите поле Render Services с дополнительным атрибутом данных, чтобы отслеживать, если 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 простой скрипт для обработки события change
для выбора, заполненного службами, и отображения / скрытия payment_terms
выбора в зависимости от isCredit
. Я предполагаю, что вы используете 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();
}
})