Установите текстовое поле для чтения и цвет фона в серый цвет в jquery
Добрый день,
Я хотел бы создать текстовое поле в jsp
, чтобы стать readonly
, а цвет фона - серым, как disable
в JQuery. Ниже приведен мой код:
if(a)
$('#billAccountNumber').attr('readonly', 'true');
Я не предпочитаю использовать attr('disable', 'true');
, потому что при отправке формы значение станет null. Любые идеи вместо записи второй строки кода для изменения стиля?
Ответы
Ответ 1
существует 2 решения:
посетите jsfiddle
in your css you can add this:
.input-disabled{background-color:#EBEBE4;border:1px solid #ABADB3;padding:2px 1px;}
in your js do something like this:
$('#test').attr('readonly', true);
$('#test').addClass('input-disabled');
Надеюсь на эту помощь.
Другим способом является использование скрытого поля ввода, как упомянуто некоторыми комментариями. Однако имейте в виду, что во внутреннем коде вам необходимо убедиться, что вы проверяете этот новый скрытый ввод при правильном сценарии. Поэтому я не рекомендую этот способ, так как он будет создавать больше ошибок, если он не обрабатывается должным образом.
Ответ 2
По вашему вопросу это то, что вы можете сделать
HTML
<textarea id='sample'>Area adskds;das;dsald da'adslda'daladhkdslasdljads</textarea>
JS/Jquery
$(function () {
$('#sample').attr('readonly', 'true'); // mark it as read only
$('#sample').css('background-color' , '#DEDEDE'); // change the background color
});
или добавьте класс в css с требуемым стилем
$('#sample').addClass('yourclass');
DEMO
Сообщите мне, было ли другое требование
Ответ 3
Если поддерживается вашим браузером, вы можете использовать CSS3 :read-only
селектор:
input[type="text"]:read-only {
cursor: normal;
background-color: #f8f8f8;
color: #999;
}
Ответ 4
Почему бы вам не поместить номер счета в div. Создайте его, как вам угодно, а затем введите скрытый ввод в форму, которая также содержит номер учетной записи. Затем, когда форма отправляется, значение должно пройти, а не быть нулевым.
Ответ 5
Можно добавить отключить, как показано ниже, и получить данные для отправки. что-то вроде этого..
DEMO
HTML
<input type="hidden" name="email" value="email" />
<input type="text" id="dis" class="disable" value="email" name="email" >
JS
$("#dis").attr('disabled','disabled');
CSS
.disable { opacity : .35; background-color:lightgray; border:1px solid gray;}