在jquery中将文本框设置为只读,将背景颜色设置为灰色

Pan*_*ong 21 javascript jquery jsp background-color

美好的一天,

我想提出一个文本框,在我jsp变得readonly和它的背景色为灰色像disablejQuery中.以下是我的代码:

if(a)
  $('#billAccountNumber').attr('readonly', 'true');
Run Code Online (Sandbox Code Playgroud)

我不喜欢使用attr('disable', 'true');,因为当我提交表单时,该值将变为null.任何想法而不是写第二行代码来改变风格?

小智 41

有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');
Run Code Online (Sandbox Code Playgroud)

希望这有帮助.

另一种方法是使用一些注释中提到的隐藏输入字段.但请记住,在后端代码中,您需要确保在正确的方案中验证此新隐藏的输入.因此我不推荐这种方式,因为如果它处理不当会产生更多错误.


Rau*_*ria 8

根据你的问题,这就是你能做的

HTML

<textarea id='sample'>Area adskds;das;dsald da'adslda'daladhkdslasdljads</textarea>
Run Code Online (Sandbox Code Playgroud)

JS/jQuery的

$(function () {
    $('#sample').attr('readonly', 'true'); // mark it as read only
    $('#sample').css('background-color' , '#DEDEDE'); // change the background color
});
Run Code Online (Sandbox Code Playgroud)

或者在你的css中添加一个具有所需样式的类

$('#sample').addClass('yourclass');
Run Code Online (Sandbox Code Playgroud)

DEMO

如果要求不同,请告诉我