-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 では、1 つはチェック ボックスをクリックするとテキスト領域を無効にし、2 つはチェック ボックスがクリックされている限りテキスト領域を無効のままにします。

$("#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 を投稿してください。

4

1 に答える 1

4

要素のプロパティを変更するには、 propの代わりに メソッドを使用する必要がありattrます。

$(function() {
    $("#catDescript").change(function() {
        $("#categoryHeader").prop("disabled", this.checked);
    }).change(); // trigger the event on DOM Ready
})
于 2013-03-04T17:42:11.580 に答える