У меня есть поле выбора (для поля клиента) в сложной форме заказа, когда пользователь начинает добавлять строки в заказ, ему нельзя разрешать изменять поле выбора клиента (если не все строки удалены).
Я сразу подумал, что могу использовать атрибут disabled, но когда флажок отключен, выбранное значение больше не передается цели.
Когда проблема возникла некоторое время назад, один из других разработчиков обошел эту проблему, перебрав все опции и отключив все, кроме выбранной опции, и убедился, что значение было передано цели, и с тех пор мы ее используем. Но сейчас я ищу правильное решение, я не хочу перебирать все варианты, потому что данные расширяются, и это начинает создавать проблемы с производительностью.
Я бы предпочел не включать этот / все элементы при нажатии кнопки отправки.
Как я могу заблокировать ввод, сохраняя выбранную опцию и передавая это значение целевому сценарию? Я бы предпочел решение, отличное от JavaScript, если это возможно, но при необходимости мы запускаем jQuery 1.4.2, чтобы его можно было использовать.
Редактировать
Я пытался использовать атрибут readonly с небольшим успехом, вот код jQuery, который я использую:
$('.abc').each(function(element) {
$(this).attr('readonly','readonly');
});
При проверке элемента с помощью Firebug атрибут readonly был установлен, но я все еще могу изменить значение в поле выбора?!