5

我正在学习 jQuery,并且在从 html 复选框中添加和删除 disabled 属性时有点麻烦。我想要它,这样当您选中该框时,您不能在文本区域中写入地址,否则您必须从搜索框中进行选择。我已经完成了后者,但是复选框给我带来了麻烦。这是我的函数调用。它很好地进入了函数,但在检查时没有删除禁用的属性,并抛出一个错误,它不能使用 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>

我在复选框上设置 disabled 属性有什么问题?

4

1 回答 1

9

要启用此功能

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

这要禁用

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

如果您将本机属性删除为disabledusing removeAttr(or removeProp),您将无法再次添加它。它不应该用于更改属性值。

于 2012-06-26T14:52:16.623 回答