2012-06-06 2 views
3

У меня есть раскрывающийся ящик, который я хотел бы заблокировать после того, как элемент был выбран. К сожалению, использование «отключить» останавливает отправку поля при отправке формы. Есть ли способ обойти это?Отключить выпадающее меню и оставить значение?

+1

место какой-нибудь div в верхней части окна выбора BTW где код .. –

+0

предоставьте html и код. :) – Bob

+0

установить значение скрытого поля. – Alex

ответ

10

Вы можете повторно включить выпадающий список прямо перед тем, форма передается:

$("form").submit(function() { 
    $("#yourDropdown").prop("disabled", false); 
}); 
+0

Отлично! Спасибо, Фред! – Abram

+0

Простой и прямой! –

5

Возьмите скрытое поле:

<input id="hiddenSelect" type="hidden" name="same_as_select_box"> 

Затем в выберите событие изменения установить значение этого скрытого поля как это указано ниже:

$('select').change(function() { 
    $('#hiddenSelect').val(this).val(); 
    $(this).prop('disabled', true); 
}); 

Теперь вы можете отправить форму с выбранным значением, без дальнейшего enabl его в submit.

+0

Спасибо за ответ. На самом деле это работает для меня, и это не очень справедливо, как вы не знали, но я не мог назначить случайную скрытую переменную, поскольку элемент формы является частью модели RoR. Сначала мне пришлось бы удалить элемент формы, который был бы большим количеством работы. – Abram

Смежные вопросы