Cuando marco una casilla de verificación, quiero que se active <p>
#0099ff
.
Cuando desactivo la casilla de verificación, quiero que lo deshaga.
Código que tengo hasta ahora:
$('#checkbox').click(function(){
if ($('#checkbox').attr('checked')) {
/* NOT SURE WHAT TO DO HERE */
}
})
.click()
se invoca en el evento click. Por lo tanto, no entiendo lo que quiere decir con "habilitar" y "deshabilitar". Si la casilla está marcada, puede invocar la funcióna()
. Pero debe escribir la función inversa para invocar cuando la casilla de verificación no está marcada. Estoy confundido..bind()
y.unbind()
eventos a otro elemento en función del estado de la casilla de verificación. ¿Es eso lo que buscas?prop()
para lo que esta pregunta quería usarattr()
; elprop()
método no se había creado en ese entonces.this.checked
Sin embargo, las respuestas sobre probablemente todavía sean útiles.Respuestas:
Yo usaría
.change()
ythis.checked
:-
Sobre el uso de
this.checked
Andy E, ha hecho una gran reseña sobre cómo tendemos a usar en exceso jQuery: utilizando el increíble poder de jQuery para acceder a las propiedades de un elemento . El artículo trata específicamente el uso de
.attr("id")
pero en el caso de que#checkbox
es un<input type="checkbox" />
elemento de la cuestión es la misma para$(...).attr('checked')
(o incluso$(...).is(':checked')
) vs.this.checked
.fuente
Prueba esto.
A veces exageramos a jquery. Se pueden lograr muchas cosas usando jquery con javascript simple.
fuente
Puede suceder que "this.checked" esté siempre "activado". Por lo tanto, recomiendo:
fuente
$(':checkbox')
que funcione;)es mejor si define una clase con un color diferente, luego cambia la clase
de esta manera su código está más limpio porque no tiene que especificar todas las propiedades de CSS (digamos que desea agregar un borde, un estilo de texto u otro ...) pero simplemente cambia una clase
fuente
$('#checkbox').attr('checked')
embargo, no hay razón para hacerlo si sabemos que#checkbox
es una casilla de verificación (de lo contrario, la identificación es bastante engañosa).this.checked
lo haréEncontré una solución loca para tratar este problema de la casilla de verificación no marcada o marcada aquí es mi algoritmo ... crear una variable global, digamos var check_holder
check_holder tiene 3 estados
Si se hace clic en la casilla de verificación,
El código anterior se puede usar en muchas situaciones para averiguar si una casilla de verificación se ha marcado o no. El concepto detrás de esto es guardar los estados de las casillas de verificación en una variable, es decir, cuando está activado, desactivado. Espero que la lógica se pueda utilizar para resolver su problema.
fuente
Comprueba este código:
fuente
fuente
Probablemente pueda usar este código para realizar acciones cuando la casilla de verificación esté marcada o desmarcada.
fuente
Yo lo haría :
Ver: https://www.w3schools.com/jsref/prop_checkbox_checked.asp
fuente
Implementación óptima
Manifestación
fuente
¿Por qué no utilizar los eventos integrados?
fuente