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
i
yv
?$('#el').prop('disabled', (i, v) => !v);
¡ Supongo que para obtener la comparabilidad completa del navegador
disabled
debe establecer el valordisabled
o 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.disabled
atributo. De todos modos, si puede confirmar que esta es una solución de navegador cruzado ... actualizaré mi respuesta.prop
es el mejor método desde 1.6 como lo dijo Arne.fuente
Otra opción simple que se actualiza con un clic de la casilla de verificación.
HTML:
jQuery:
En acción: enlace
fuente
if
bloqueo 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