Quando eu marcar uma caixa de seleção, quero que ela gire <p>
#0099ff
.
Quando desmarco a caixa de seleção, quero desfazê-la.
Código que tenho até agora:
$('#checkbox').click(function(){
if ($('#checkbox').attr('checked')) {
/* NOT SURE WHAT TO DO HERE */
}
})
.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..bind()
e.unbind()
eventos para outro elemento com base no estado da caixa de seleção. É isso que você procura?prop()
para o que essa pergunta queria usarattr()
; oprop()
método não havia sido criado naquela época. As respostas sobrethis.checked
provavelmente ainda são úteis, no entanto.Respostas:
Eu usaria
.change()
ethis.checked
:-
O uso de
this.checked
Andy E fez uma excelente descrição sobre como tendemos a usar o jQuery: Utilizando o incrível poder do jQuery para acessar as propriedades de um elemento . O artigo trata especificamente o uso de
.attr("id")
, mas no caso em que#checkbox
é um<input type="checkbox" />
elemento do problema é a mesma para$(...).attr('checked')
(ou mesmo$(...).is(':checked')
) vsthis.checked
.fonte
Tente isso.
Às vezes, exageramos no jquery. Muitas coisas podem ser obtidas usando jquery com javascript simples.
fonte
Pode acontecer que "this.checked" esteja sempre "on". Portanto, eu recomendo:
fonte
$(':checkbox')
, a fim de fazê-lo funcionar;) #é melhor se você definir uma classe com uma cor diferente e mudar de classe
dessa maneira, seu código fica mais limpo porque você não precisa especificar todas as propriedades de css (digamos que você queira adicionar uma borda, um estilo de texto ou outro ...), mas você apenas alterna uma classe
fonte
$('#checkbox').attr('checked')
, no entanto, se sabemos que#checkbox
é uma caixa de seleção (caso contrário, o ID é bastante enganador).this.checked
vai fazer.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
Se a caixa de seleção estiver selecionada,
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.
fonte
Verifique este código:
fonte
fonte
Provavelmente, você pode seguir esse código para executar ações, pois a caixa de seleção está marcada ou desmarcada.
fonte
Eu faria :
Consulte: https://www.w3schools.com/jsref/prop_checkbox_checked.asp
fonte
Implementação ideal
Demo
fonte
Por que não usar os eventos incorporados?
fonte