Как сделать разные дополнительные поля для разных услуг?

Дополнительные поля по-умолчанию отображаются одни на все услуги. Используя пример доработки ниже, Вы можете управлять отображением тех или иных полей в зависимости от названия услуги или имени сотрудника. Для начала необходимо создать все возможные дополнительные поля на 5 шаге настроек в блоке "Настройка отображения полей формы контактов клиента" и сохранить настройки. Далее, в дополнительный CSS и JS необходимо вставить следующий код:

CSS:
<style>.custom-field { display: none; }</style>

JS:
<script>
var fields = {
'Замена свечей': '1',
'Замена масла в двигателе': '2|3',
};

function checkCustomFields(fields) {
if ($('#contact:visible').length > 0) {
var info = $('.contact-service').text();
$('.custom-field').each(function() {
$(this).find('input, textarea').val('-');
});

for (var service in fields) {
if (info.indexOf(service) >= 0) {
for (var n in fields[service]) {
$('.custom-field').eq(fields[service][n]-1).show().find('input').val('');
}
}
}
}
}

$(document).ajaxComplete(function() { checkCustomFields(fields); });
checkCustomFields(fields);
</script>


Данный код скроет по-умолчанию отображение всех дополнительных полей и отобразит поле 1 в услуге "Замена свечей" и поля 2 и 3 в услуге "Замена масла в двигателе". Добавляя услуги или меняя номера полей можно управлять их отображением. Нумерация полей идет сверху вниз от 1 до 10, записываются через |, например "1|2|3".