2012-06-26 10 views
5

Jestem w trakcie uczenia się jQuery iw odrobinie pikla z dodawaniem i usuwaniem atrybutu wyłączonego z html. Chcę tego, aby po zaznaczeniu tego pola nie można było pisać w polu tekstowym adresu, albo trzeba wybrać z pola wyszukiwania. Mam później zrobione, ale pole wyboru powoduje moje kłopoty. To jest moje wezwanie do działania. Wchodzi w funkcję dobrze, ale nie usuwa usuniętych atrybutów, gdy jest zaznaczone, i zgłasza błąd, że nie może użyć metody addAttr w celu dodania wyłączonych.Usuwanie i dodawanie wyłączonego atrybutu z jQuery z pola wyboru 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');  
    } 
} 

I to jest 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> 

Co ja brudząc się z ustawienie atrybutu wyłączoną pole wyboru?

Odpowiedz

8

celu umożliwienia wykorzystania tej

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

i to wyłączyć

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

Jeśli usuniesz rodzimych nieruchomości jako disabled wykorzystaniem removeAttr (lub removeProp) nie będzie w stanie go dodać ponownie . Nie powinno się jej używać do zmiany wartości właściwości.

Powiązane problemy