Tengo problemas para resolver esto. Tengo dos casillas de verificación (en el futuro tendré más):
checkSurfaceEnvironment-1
checkSurfaceEnvironment-2
Básicamente, quiero escribir una declaración if y probar si una de ellas está marcada y otra NO. ¿Cuál es la forma más sencilla de lograr lo siguiente?
if ( $("#checkSurfaceEnvironment-1").attr('checked', true) &&
$("#checkSurfaceEnvironment-2").is('**(NOT??)** :checked') ) {
// do something
}
jquery
if-statement
usuario1040259
fuente
fuente
||
no&&
para comprobar si alguno de ellos está marcado.&&
comprueba si ambos están marcados.Respuestas:
Una forma confiable que uso es:
Si desea iterar sobre los elementos marcados, use el elemento principal
Más información:
Esto funciona bien porque todas las casillas de verificación tienen una propiedad marcada que almacena el estado real de la casilla de verificación. Si lo desea, puede inspeccionar la página e intentar marcar y desmarcar una casilla de verificación, y notará que el atributo "marcado" (si está presente) seguirá siendo el mismo. Este atributo solo representa el estado inicial de la casilla de verificación y no el estado actual . El estado actual se almacena en la propiedad marcada del elemento dom para esa casilla de verificación.
Ver propiedades y atributos en HTML
fuente
checked = true
fuente
También puede usar el
.not()
método jQuery o el:not()
selector:Ejemplo de JSFiddle
Notas adicionales
De la documentación de la API de jQuery para el
:not()
selector :fuente
Una forma alternativa:
Aquí hay un ejemplo de trabajo y aquí está el código, también debe usar prop.
Comenté la forma de alternar el atributo marcado.
fuente
fuente
Estaba buscando una implementación más directa como sugirió avijendr.
Tuve un pequeño problema con su sintaxis, pero logré que esto funcionara:
En mi caso, tenía una mesa con una clase
user-forms
, y yo estaba revisando si alguna de las casillas de verificación que tenían la cadenacheckPrint
en suid
eran sin marcar.fuente
Creo que la forma más fácil (con jQuery) de verificar si la casilla de verificación está marcada o NO es:
si está 'marcado':
si NO está 'marcado':
fuente
Aquí tengo un fragmento de esta pregunta.
fuente
Para hacerlo con lo
.attr()
que has hecho, para ver si está marcado estaría.attr("checked", "checked")
, y si no lo está sería.attr("checked") == undefined
fuente
Devuelve verdadero si todas las casillas de verificación están marcadas en un div
fuente
Condición simple y fácil de verificar o no verificar
fuente
prueba este
En el código anterior, seleccione el elemento por Id y
(#checkSurfaceEnvironment-1)
luego filtre su estado verificado por(:checked)
filtro.Devolverá una matriz de objeto de elemento verificado. Si existe algún objeto en la matriz, entonces se cumplirá la condición.
fuente
Hay dos formas de comprobar la condición.
O puedes usar este también
Espero que esto sea útil para ti.
fuente
Aquí está la forma más sencilla dada
fuente
¡Usé esto y funcionó para mí!
fuente
Sé que esto ya ha sido respondido, pero aún así, esta es una buena manera de hacerlo:
fuente
fuente
fuente