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
- estado indefinido
- 0 estado
- 1 estado
Si se hace clic en la casilla de verificación,
$(document).on("click","#check",function(){
if(typeof(check_holder)=="undefined"){
//this means that it is the first time and the check is going to be checked
//do something
check_holder=1; //indicates that the is checked,it is in checked state
}
else if(check_holder==1){
//do something when the check is going to be unchecked
check_holder=0; //it means that it is not checked,it is in unchecked state
}
else if(check_holder==0){
//do something when the check is going to be checked
check_holder=1;//indicates that it is in a checked state
}
});
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.
.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.