Как установить элемент select как readonly ('disabled' не передает значение выбора на сервере)

Когда я использовал какой-либо из следующего кода, элемент select выглядит как отключенный, но выбор не проходит на сервере: Im думает о readonly, который будет использоваться, но я не знаю, или это будет решили проблему. Любая помощь очень ценится.

$('#selectID').prop('disabled',true);

$('#selectID').prop('disabled','disabled');

$('#selectID').attr('disabled',true);

$('#selectID').attr('disabled','disabled');

Ответы

Ответ 1

Чтобы передать select, я просто верну его обратно:

  $('#selectID').prop('disabled',false);

или

  $('#selectID').attr('disabled',false);

при передаче запроса.

Ответ 2

см. этот ответ - HTML-форма для чтения SELECT-тег/ввод

Вы должны оставить элемент select отключенным, а также добавить еще один скрытый ввод с тем же именем и значением.

Если вы снова используете SELECT, вы должны скопировать его значение в скрытое вход в событие onchange.

см. эту скрипту, чтобы продемонстрировать, как извлечь выбранное значение в отключенном списке, в скрытое поле, которое будет представлено в форме.

<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);
});

надеюсь, что это поможет.

Ответ 3

не отключая выбранное значение при отправке.

$('#selectID option:not(:selected)').prop('disabled', true);

If you use Jquery version lesser than 1.7
$('#selectID option:not(:selected)').attr('disabled', true);

Это работает для меня..

Ответ 4

Чтобы упростить здесь плагин jQuery, который может достичь этой цели: https://github.com/haggen/readonly

  • Включите readonly.js в свой проект. (также требуется jquery)
  • Вместо .attr('readonly', 'readonly') замените .attr('readonly', 'readonly'). Это.

    Например, измените значение с $(".someClass").attr('readonly', 'readonly');      до $(".someClass").readonly();.