【问题标题】:text area is not disabling or staying disabled文本区域未禁用或保持禁用状态
【发布时间】:2013-03-04 17:40:06
【问题描述】:

我有一个复选框

<input type="checkbox" id="catDescript" class="category_description" name="aisis_options[category_description]" value="category_description">

和一个文本区域

<textarea id="categoryHeader" class="input-xlarge" name="aisis_options[category_header_text]" rows="10" cols="100%"></textarea>

和下面的Jquery,假设一个在单击复选框时禁用文本区域,两个在单击复选框时保持文本区域禁用。

$("#catDescript").change(function() {
    if($(this).is(":checked")) {                
        $("#categoryHeader").attr("disabled", "disabled");
    }
    else {
        $("#categoryHeader").removeAttr("disabled");
    }
}); 

if ($('input[value=category_description]:checkbox:checked').attr('id') === "catDescript") {
    $('#categoryHeader').attr('disabled', 'disabled');
} 

问题是,我点击复选框,文本区域并没有被禁用。我点击提交,复选框被选中,但文本区域没有被禁用。

我做错了什么?请发布一个jsfiddle。

【问题讨论】:

  • 你的代码可以在 jsfiddle jsfiddle.net/bvQHt
  • 它对我不起作用,我将 java 脚本包装在 jquerys 文档 jazz 中。

标签: jquery html checkbox disabled-input


【解决方案1】:

要修改元素的属性,应该使用prop方法而不是attr

$(function() {
    $("#catDescript").change(function() {
        $("#categoryHeader").prop("disabled", this.checked);
    }).change(); // trigger the event on DOM Ready
})

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-14
    相关资源
    最近更新 更多