Даже вот так попробуй проще $(document).ready(function() { var $select = $('#select'); var $custom = $('#custom'); var $customValue = 'Другое';
$select.on('change', function() {
if ( ($this).val() == $customValue) && ($custom.val() != '') ) {
$(this).val() = $custom.val();
}
});
});
Да, это я так и делаю. Помимо всего еще один скрытый, в него нужно передать значение перед отправкой?
А подскажите как? Что-то я не соображу.
input другой не твой custom, еще один скрытый
Принимай значение не selecta а inputa а при смене подставляй в этот интуп что хочешь
А в таком случае если выбрано в селекте не «Другое», то есть должно отправляться значение из селекта, приходит пустое значение.
Правильно вы же элементу $custom подставляете значение if ($select.val() == customValue) { $element = $custom; } а нужно $select
Вот такой скрипт использую — все равно отправляется значение из select — слово «Другое» $(document).ready(function() { var $select = $('#select'); var $custom = $('#custom'); var customValue = 'Другое';
$('#form').on('submit', function() {
var $element = $select;
if ($select.val() == customValue) {
$element = $custom;
}
$element.attr('name', 'value');
});
$select.on('change', function() {
$custom.toggle($(this).val() == customValue);
});
});
да просто в паре слов скажи, в чем трабл может быть, все делаю как в посте
Сейчас немного разгружусь — сделаю топик как пошагово сделать. сейчас времени нет абсолютно