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

Lo que estoy tratando de hacer es disparar el evento de cambio dropdownlist y en el cambio haciendo esto dropdownlist deshabilitado. El código se está disparando y todo, pero no deshabilita el dropdownlist.¿Cómo hacer que una lista desplegable se deshabilite en el evento de cambio con JQUERY?

Esta parte del código no está funcionando:

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

Gracias a todo el mundo, lo tengo con esta forma:. $ (document) ready (function() {$ ('# <% =% ddlContinents.ClientID>') cambio (function() {var elemento = $ (esto); var totalLength = element.children(). length; if ($ (this) .attr ("disabled") == false) {$ (this) .attr ("disabled", true); }}); }); – Shiva

+0

La forma "correcta" es eliminar el atributo deshabilitado y establecer deshabilitado como "deshabilitado". –

+0

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

Respuesta

17

que puedes usar .prop() para jQuery 1.6 + o .attr() para versiones anteriores de 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

Gracias, pero no funcionó. – Shiva

+0

Vaya, pruebe $ (this) .attr ("disabled") == false –

+0

Gracias, así es. – Shiva

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

Si desea habilitar más adelante, que tienes que hacer:

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

Sé que este post es old..This podrían ayudar si alguien pegado con la desactivación de la función desplegable chnage desplegable

if ($(this).attr('disabled', false)) 
     { $(this).attr('disabled', true); 
    } 
Cuestiones relacionadas