$(document).ready(function() { var $select = $('#select'); var $custom = $('#custom'); var $customValue = 'Другое'; $select.on('change', function() { $name = $(this).val(); if ($(this).val() == $customValue) { $('#custom').show(); } else { $('#custom').hide(); } }); $('#form').on('submit', function() { if ( ($select.val() == $customValue) && ($custom.val() != '') ) { $select.val() = $custom.val(); } else{ $select.val() = $name; } }); });
В этом коде в плане отображения/скрытия инпута все ОК. Но отправляет только из инпута значение. Здесь нужен скрытый инпут или все работает в связке select/input type «text»