2009-03-12 8 views
10
$(document).ready(function() { 
     $('#<%=ddlContinents.ClientID %>').change(function() { 
     var element = $(this); 
     var totalLength = element.children().length; 
     if ($(this).disabled == false) { $(this).disabled = true; } 
     }); 
}); 

Quello che sto cercando di fare è sparare l'evento di cambiamento del dropdownlist e sulle modifiche rendendo questo dropdownlist disabilitato. Il codice sta funzionando e tutto, ma non disabilita lo dropdownlist.Come rendere disabilitato un elenco a discesa sull'evento di modifica utilizzando JQUERY?

Questa porzione del codice non funziona:

if ($(this).disabled == false) { $(this).disabled = true; } }); 
+0

Grazie a tutti, ho ottenuto in questo modo: $ (documento) .ready (function() {$ ('# <% = ddlContinents.ClientID%>'). Change (function() {var element = $ (questo); var totalLength = element.children(). length; if ($ (this) .attr ("disabled") == false) {$ (this) .attr ("disabled", true); }}); }); – Shiva

+0

Il modo "corretto" è rimuovere l'attributo disabilitato e impostare disabilitato su "disabilitato". –

+0

http://docs.jquery.com/Frequently_Asked_Questions#How_do_I_disable.2Fenable_an_element.3F –

risposta

17

si dovrebbe usare .prop() per jQuery 1.6 + o .attr() per le versioni precedenti di jQuery:

> jQuery 1.6:

$(document).ready(function() { 
    $('#<%=ddlContinents.ClientID %>').change(function() { 
    var element = $(this); 
    var totalLength = element.children().length; 

    if (!$(this).prop("disabled")) { 
     $(this).prop("disabled", true); 
    } 
    }); 
}); 

< jQuery 1.6:

$(document).ready(function() { 
    $('#<%=ddlContinents.ClientID %>').change(function() { 
    var element = $(this); 
    var totalLength = element.children().length; 

    if (!$(this).attr("disabled")) { 
     $(this).attr("disabled", "disabled"); 
    } 
    }); 
}); 
+0

Grazie, però, ma non ha funzionato. – Shiva

+0

oops, prova $ (this) .attr ("disabled") == false –

+0

Grazie, è così. – Shiva

11
if (!$(this).attr("disabled")) { $(this).attr("disabled","disabled"); } 

Se si desidera attivare in un secondo momento, che devi fare:

$(this).removeAttr("disabled"); 
1

So che questo post è old..This potrebbe aiutare se qualcuno bloccato con la disattivazione discesa sulla funzione chnage discesa

Problemi correlati