Aquí está mi código:
$("#product1 :checkbox").click(function(){
$(this)
.closest('tr') // Find the parent row.
.find(":input[type='text']") // Find text elements in that row.
.attr('disabled',false).toggleClass('disabled') // Enable them.
.end() // Go back to the row.
.siblings() // Get its siblings
.find(":input[type='text']") // Find text elements in those rows.
.attr('disabled',true).removeClass('disabled'); // Disable them.
});
¿Cómo alternar .attr('disabled',false);?
Parece que no puedo encontrarlo en Google.

$("input").get(0).disabled = isFalse;// jsfiddle.net/uAfhjRespuestas:
El
.prop()método acepta dos argumentos:Entonces, en este caso, utilicé una función que me proporcionó el índice (i) y el valor actual (v), luego devolví lo opuesto al valor actual, por lo que el estado de la propiedad se invierte.
fuente
iyv?$('#el').prop('disabled', (i, v) => !v);¡ Supongo que para obtener la comparabilidad completa del navegador
disableddebe establecer el valordisabledo eliminarlo!Aquí hay un pequeño complemento que acabo de hacer:
Enlace de ejemplo .
EDITAR: ¡se actualizó el enlace / código de ejemplo para mantener la viabilidad!
EDIT 2:
Basado en el comentario de @lonesomeday, aquí hay una versión mejorada:
fuente
$.fn.toggleDisabled = function(){ return this.each(function(){ this.disabled = !this.disabled; });}es todo lo que necesitas.disabledatributo. De todos modos, si puede confirmar que esta es una solución de navegador cruzado ... actualizaré mi respuesta.propes el mejor método desde 1.6 como lo dijo Arne.$ ('# casilla de verificación'). haga clic en (function () { $ ('# submit'). attr ('disabled',! $ (this) .attr ('marcado')); });fuente
Otra opción simple que se actualiza con un clic de la casilla de verificación.
HTML:
jQuery:
En acción: enlace
fuente
ifbloqueo con$('#item').prop('disabled', this.checked);Un poco más tarde, y gracias a @arne, creé esta pequeña función similar para manejar dónde la entrada debería deshabilitarse y ocultarse, o habilitarse Y mostrarse:
Luego, un objeto jQuery (como $ ('input [name = "something"]')) simplemente se cambia usando:
fuente
Esto es bastante simple con la sintaxis de devolución de llamada de
attr:fuente