2012-06-26 16 views
5

jQueryの学習中ですが、htmlチェックボックスから無効な属性を追加したり削除したりしています。あなたがボックスにチェックを入れると、テキストエリアにアドレスを書くことができない、または検索ボックスから選択する必要があるように、私はそれを望んでいます。私は後でやったが、チェックボックスは私のトラブルを引き起こしている。これは私の関数呼び出しです。それは関数をうまく入力しますが、チェックされているときは無効な属性を削除していないので、addAttrメソッドを使用して無効化されたバックを追加できないというエラーがスローされます。htmlチェックボックスから無効な属性を削除してjQueryで追加する

//attach an event for clicking on the informal contact button 
jQuery(document).ready(
    function() { 
     jQuery('.InformalContact').live('click', 
     function (event) { 
      TestIfInformalContactIsChecked(event); 
     }); 
    } 
); 

//check the status of the informalcontact checkbox when a user activates it 
//If checked, user can input data in the contactinfo manually. 
function TestIfInformalContactIsChecked(event) { 
    var thisCheck = jQuery(event.target); 
    if (thisCheck.is(':checked')) { 
     jQuery("#ContactInfo").removeAttr('disabled'); 
    } 
    else { 
     jQuery("#ContactInfo").addAttr('disabled');  
    } 
} 

そしてこれはhtmlです...

<div class="TBItemColumn1"> 
    Name: <input id="Name" value="" class="TBFindContact" style="width: 150px;" maxlength="50" type="text" /><br /> 
    <input id="InformalContact" class="InformalContact" maxlength="50" type="checkbox" ClientIDMode="Static" />Informal Contact<br /> 
    <div id="TBContactSearchBox"></div> 
    Notes: 
    <br /> 
    <textarea id="Notes" style="width: 280px; height: 20px;"></textarea> 
    </div> 
    <div class="TBItemColumn2"> 
    <div class="FloatLeft"> 
     Contact Info: 
     <br /> 
     <textarea id="ContactInfo" value="" style="width: 280px; height: 70px;" disabled="disabled"></textarea> 
    </div> 
    </div> 

私は、チェックボックスにdisabled属性を設定することで何をめちゃくちゃですか?あなたがremoveAttr(またはremoveProp)を使用してdisabledとしてネイティブプロパティを削除した場合

jQuery("#ContactInfo").prop('disabled', false); 

を無効にするには、この

jQuery("#ContactInfo").prop('disabled', true); 

と、この使用を有効にするには

答えて

8

あなたは再びそれを追加することはできません。プロパティ値を変更するために使用されるはずのものではありません。

関連する問題