2010-08-25 14 views

Respuesta

42

Puede hacerlo de esta manera:

$("#checkBoxID").click(function() { 
    $("#buttonID").attr("disabled", !this.checked); 
}); 

Esto permite que en caso de control y desactiva de nuevo si se desactiva. En jQuery .attr("disabled", bool) toma un valor booleano, por lo que puede mantenerlo bastante corto usando la propiedad this.checked DOM de la casilla de verificación.

+6

+1 para negar el booleano, es una técnica simple que no se usa lo suficiente, IMO. Ah, y no usar * .is (": checked") *, también ;-) –

+1

A partir de jQuery 1.6, se recomienda usar el método .prop() para esto en su lugar (http://api.jquery.com/attr /). – Eirik

2
$("#yourcheckboxid").click(function() { 
    var checked_status = this.checked; 
    if (checked_status == true) { 
     $("#yourbuttonid").removeAttr("disabled"); 
    } else { 
     $("#yourbuttonid").attr("disabled", "disabled"); 
    } 
}); 
Cuestiones relacionadas