如何禁用文本区域?

时间:2011-10-08 03:51:46

标签: jquery textarea

如何禁用动态添加到HTML的textarea?

HTML:

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

这就是我的尝试:

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

5 个答案:

答案 0 :(得分:19)

我在你发布的代码中没有看到textarea元素?根据您拥有的标记,您将通过以下方式禁用输入:

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

您的代码无法正常工作的原因仅仅是因为选择器错误。输入是.ss_datesel_inp_cont的后代,因此您需要在.ss_datesel_inp_continput之间指明一个空格。输入也是直接子项,因此您也可以使用>中的直接子令牌$('.ss_datesel_inp_cont > input')

答案 1 :(得分:4)

要更改disabled属性,您应该使用.prop()函数。

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

注意:对于jQuery 1.6 +

答案 2 :(得分:0)

你试过吗,

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

prop仅适用于jQuery 1.6或更高版本。

答案 3 :(得分:0)

我会尝试:

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

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

答案 4 :(得分:0)

你可以这样做:

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

您的input位于div范围内,因此您可以使用与使用css选择的方式相同的方式选择它。

这是div的孩子,所以你也可以这样做:

.ss_datesel_inp_cont > input

示例: http://jsfiddle.net/UpHsA/