5

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

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

チェックボックスに無効な属性を設定すると、何が混乱しますか?

4

1 に答える 1

9

有効にするには、これを使用します

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

これを無効にします

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

(または) をdisabled使用してネイティブ プロパティを削除すると、再度追加することはできません。プロパティ値の変更には使用しないでください。removeAttrremoveProp

于 2012-06-26T14:52:16.623 に答える