Eu descobri uma solução louca para lidar com esta questão da caixa de seleção não marcada ou marcada aqui é o meu algoritmo ... criar uma variável global digamos var check_holder
check_holder possui 3 estados
- estado indefinido
- 0 estado
- 1 estado
Se a caixa de seleção estiver selecionada,
$(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
}
});
O código acima pode ser usado em muitas situações para descobrir se uma caixa de seleção foi marcada ou não. O conceito por trás disso é salvar os estados da caixa de seleção em uma variável, ou seja, quando está ativada, desativada. Espero que a lógica possa ser usada para resolver seu problema.
.click()
é chamada no evento click. Portanto, não entendo o que você quer dizer com "ativar" e "desativar". Se a caixa de seleção estiver marcada, você pode chamar a funçãoa()
. Mas você deve escrever a função reversa para chamar quando a caixa de seleção não estiver marcada. Estou confuso.