2013-03-04 81 views
-1

我有一个复选框文本区域不被禁用或停留禁用

<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。

+0

你的代码工作中的jsfiddle http://jsfiddle.net/bvQHt/ – codingbiz 2013-03-04 17:46:47

+0

它并没有为我工作,我有包裹在jquerys文件爵士的Java脚本。 – TheWebs 2013-03-04 18:00:41

回答

4

要修改元素的属性,应使用prop方法代替attr

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