开发者

How to disable a text area?

How to disable a textarea which is dynamically added to the HTML?

HTML:

<div class="ss_datesel_inp_cont">
    <div class="ss_datesel_inp_right_corner">
    </div>
    <input autocomplete="off">
</div>

This is what I tried:

   $('.ss_datesel_inp_cont:textarea').prop("disabled", true);
   $('.ss_datesel_开发者_运维技巧inp_cont:input').prop("disabled", true);


I don't see a textarea element in the code you posted? Based on the markup you have, you would disable the input by:

$('.ss_datesel_inp_cont input').prop('disabled', true);

The reason your code isn't working is simply because the selector is wrong. The input is a descendant of .ss_datesel_inp_cont and therefore you need to indicate that with a space between .ss_datesel_inp_cont and input. The input is also a direct child, so alternatively you could use the direct child token > as in $('.ss_datesel_inp_cont > input').


To change the disabled property you should use the .prop() function.

$("textarea").prop('disabled', true);
$("textarea").prop('disabled', false);

Note: For jQuery 1.6+


Have you tried,

$('.ss_datesel_inp_cont:textarea').attr("disabled", true);

prop only works for jQuery 1.6 or later.


I would try:

$('.ss_datesel_inp_cont:textarea').prop("disabled", "disabled");

or

$('.ss_datesel_inp_cont textarea').prop("disabled", "disabled");


You can do this:

$('.ss_datesel_inp_cont input').attr('disabled','disabled');

Your input is within the div, so you can select it in the same way as you select with css, by a space.

It is a child of the div, so you could also do this:

.ss_datesel_inp_cont > input

Example: http://jsfiddle.net/UpHsA/

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜