как установить элемент select как readonly ('disabled' не передает значение select на сервере)
когда я использовал следующий кодselect
элемент do выглядит как отключенный, но select не проходит на сервере: Im думает о readonly
для использования, но я не знаю или это решит проблему. Любая помощь очень ценится.
$('#selectID').prop('disabled',true);
$('#selectID').prop('disabled','disabled');
$('#selectID').attr('disabled',true);
$('#selectID').attr('disabled','disabled');
4 ответов
посмотреть ответ - HTML-форма только для чтения выберите tag / input
вы должны сохранить элемент select отключенным, но также добавить другой скрытый ввод с тем же именем и значением.
Если вы повторно настраиваете свой выбор, вы должны скопировать его значение в скрытый ввод в событие onchange.
посмотреть эта скрипка в demnstrate, как получить выбранное значение в отключены выбрать в скрытые поле, которое будет представлено в форме.
<select disabled="disabled" id="sel_test">
<option value="1">One</option>
<option value="2">Two</option>
<option value="3">Three</option>
</select>
<input type="hidden" id="hdn_test" />
<div id="output"></div>
$(function(){
var select_val = $('#sel_test option:selected').val();
$('#hdn_test').val(select_val);
$('#output').text('Selected value is: ' + select_val);
});
надеюсь, что это поможет.
уметь передать select
, Я просто установил его обратно в :
$('#selectID').prop('disabled',false);
или
$('#selectID').attr('disabled',false);
при передаче запроса.
без отключения выбранного значения при отправке..
$('#selectID option:not(:selected)').prop('disabled', true);
If you use Jquery version lesser than 1.7
$('#selectID option:not(:selected)').attr('disabled', true);
это работает для меня..
чтобы упростить вещи, вот плагин jQuery, который может достичь этой цели:https://github.com/haggen/readonly
- включить только для чтения.js в вашем проекте. (также нуждается в jQuery)
-
заменить
.attr('readonly', 'readonly')
с.readonly()
вместо. Вот и все.например, изменить с
$(".someClass").attr('readonly', 'readonly');
к$(".someClass").readonly();
.