Como uma caixa de seleção pode ser marcada / desmarcada usando JavaScript, jQuery ou baunilha?
javascript
jquery
checkbox
lisovaccaro
fonte
fonte
Respostas:
Javascript:
jQuery (1.6+):
jQuery (1.5-):
fonte
attr
ouprop
?.checked = true/false
, não dispara ochange
evento: - \Comportamento importante que ainda não foi mencionado:
Definir programaticamente o atributo marcado , não aciona o
change
evento da caixa de seleção .Veja você mesmo neste violino:
http://jsfiddle.net/fjaeger/L9z9t04p/4/
(Fiddle testado no Chrome 46, Firefox 41 e IE 11)
o
click()
métodoAlgum dia você poderá escrever um código, que depende do evento ser disparado. Para garantir que o evento seja acionado, chame o
click()
método do elemento checkbox, assim:No entanto, isso alterna o status marcado da caixa de seleção, em vez de configurá-lo especificamente para
true
oufalse
. Lembre-se de que ochange
evento deve ser acionado apenas quando o atributo verificado realmente mudar.Também se aplica à maneira jQuery: definir o atributo usando
prop
orattr
, não dispara ochange
evento.Definindo
checked
para um valor específicoVocê pode testar o
checked
atributo antes de chamar oclick()
método Exemplo:Leia mais sobre o método click aqui:
https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/click
fonte
elm.dispatchEvent(new Event('change'));
checar:
desmarcar:
fonte
Podemos marcar uma caixa de seleção de partículas como,
e desmarque por,
fonte
Gostaria de observar que definir o atributo 'marcado' como uma seqüência de caracteres não vazia leva a uma caixa marcada.
Portanto, se você definir o atributo 'marcado' como "falso" , a caixa de seleção será marcada. Eu tive que definir o valor para a string vazia, null ou o valor booleano false , para garantir que a caixa de seleção não estivesse marcada.
fonte
Tente isto:
fonte
fonte
fonte
Se, por algum motivo, você não quiser (ou não puder) executar um
.click()
elemento na caixa de seleção, basta alterar seu valor diretamente por meio da propriedade .checked (um atributo IDL de<input type="checkbox">
).Observe que isso não dispara o evento normalmente relacionado ( altere ), portanto, você precisará acioná-lo manualmente para ter uma solução completa que funcione com qualquer manipulador de eventos relacionados.
Aqui está um exemplo funcional em javascript bruto (ES6):
Se você executar isso e clicar na caixa de seleção e no botão, deverá ter uma noção de como isso funciona.
Observe que usei document.querySelector por questões de brevidade / simplicidade, mas isso pode ser facilmente desenvolvido para que um ID específico seja passado ao construtor ou pode ser aplicado a todos os botões que atuam como etiquetas de ária para uma caixa de seleção (observe que eu não se incomodou em definir um ID no botão e atribuir à caixa de seleção um marcador de ária, o que deve ser feito se você usar esse método) ou várias outras maneiras de expandir isso. Os dois últimos
addEventListener
s são apenas para demonstrar como funciona.fonte
Para uma verificação única, tente
para multi try
Mostrar snippet de código
fonte
Concordo com as respostas atuais, mas, no meu caso, não funciona, espero que este código ajude alguém no futuro:
fonte