2012-06-26 30 views
5

Tôi đang trong quá trình học jQuery và trong một chút dưa chuột với việc thêm và xóa thuộc tính đã tắt khỏi hộp kiểm html. Tôi muốn nó để khi bạn kiểm tra hộp bạn không thể viết trong một địa chỉ văn bản, hoặc người nào khác bạn phải chọn từ một hộp tìm kiếm. Tôi đã thực hiện sau, nhưng hộp kiểm đang gây ra rắc rối của tôi. Đây là lời gọi hàm của tôi. Nó đi vào chức năng tốt, nhưng không phải là loại bỏ các thuộc tính vô hiệu hóa khi kiểm tra và ném một lỗi mà nó không thể sử dụng phương pháp addAttr để thêm trở lại vô hiệu hóa.Xóa và thêm thuộc tính bị vô hiệu hóa với jQuery từ hộp kiểm html

//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');  
    } 
} 

Và đây là 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> 

Tôi đang rối tung lên gì với thiết lập các thuộc tính tàn tật vào hộp kiểm?

Trả lời

8

Để kích hoạt sử dụng này

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

và điều này để vô hiệu hóa

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

Nếu bạn loại bỏ một tài sản có nguồn gốc như disabled sử dụng removeAttr (hoặc removeProp), bạn sẽ không thể để thêm một lần nữa . Nó không được dùng để thay đổi giá trị tài sản.

Các vấn đề liên quan