2011-01-27 10 views
9

Habilitar puedo desactivarlo muy bien usar esto:botón en jQuery diálogo

button.attr('disabled', 'disabled').addClass('ui-state-disabled'); 

Pero ¿cómo puedo volver a habilitarla? Cuando uso esto:

button.attr('enabled', 'enabled').addClass('ui-state-enabled'); 

No funciona.

+3

no hay ningún atributo llamado 'permitido'. –

Respuesta

20
button.removeAttr('disabled').removeClass('ui-state-disabled'); 
+0

¿Hay alguna forma de desactivar el botón sin quitar su funcionalidad de desplazamiento? – Phillip

0

con jQuery puede utilizar removeAttr y removeClass para deshacerse de su atributo discapacitados/clase:

button.removeAttr('disabled').removeClass('ui-state-disabled'); 
0

creo que esto es lo que está buscando:

button.removeAttr("disabled"); 
5

intentado todas las respuestas aquí y nada funcionó para mí.

La cuestión es que tengo html:

<input type="submit" value="Save" id="saveButton" disabled="disabled" /> 

Entonces me llaman globaly:

$("button, input:submit, input:button").button(); 

Después de que el botón se pone atributo aria-discapacitados = true.

Ninguno de los dos siguientes permitirá al presentar:

$("#saveButton").attr('disabled',false); 
$("#saveButton").removeAttr('disabled'); 
$("#saveButton").prop('disabled',false); 
$("#saveButton").attr('aria-disabled',false); 
$("#saveButton").removeClass('ui-state-disabled'); 

La única solución de trabajo en este caso es:

$("#saveButton").button("enable"); 

jQuery UI Docs: Button Widget - enable()

Para desactivar botón de nuevo:

$("#saveButton").button("disable"); 

jQuery UI Docs: Button Widget - disable()

+0

** Sugerencia: ** La desactivación funciona de manera similar, vea esto [respuesta vinculada.] (Http://stackoverflow.com/a/4279852/1016343) – Matt

+0

Esta es la respuesta correcta. De esta forma, básicamente le está diciendo a jQuery que habilite el botón y que haga todo el trabajo. Si quiere hacer el trabajo usted mismo, debe eliminar el atributo 'disabled', las clases desactivadas de jQuery UI, _y_ configurar las clases hover. No hay necesidad de hacer todo eso a mano. –

Cuestiones relacionadas