Eu tenho o seguinte:
$(document).ready(function()
{
$("#select-all-teammembers").click(function() {
$("input[name=recipients\\[\\]]").attr('checked', true);
});
});
Gostaria que id="select-all-teammembers"
quando clicada alternasse entre marcado e desmarcado. Ideias? que não são dezenas de linhas de código?
jquery
checkbox
jquery-selectors
toggle
Um aprendiz
fonte
fonte
$('input[type=checkbox]').trigger('click');
mencionado por @ 2astalavista abaixo é mais sucinto e também aciona o evento "change".fonte
Eu sei que isso é antigo, mas a pergunta era um pouco ambígua, pois alternar pode significar que cada caixa de seleção alterne seu estado, seja lá o que for. Se você tiver 3 marcados e 2 desmarcados, a alternância tornará os 3 primeiros desmarcados e os 2 últimos marcados.
Para isso, nenhuma das soluções aqui funciona, pois todas as caixas de seleção têm o mesmo estado, em vez de alternar o estado de cada caixa de seleção. Fazer
$(':checkbox').prop('checked')
muitas caixas de seleção retorna o AND lógico entre todas.checked
as propriedades binárias, ou seja, se uma delas estiver desmarcada, o valor retornado éfalse
.Você precisa usar
.each()
se realmente deseja alternar cada estado da caixa de seleção em vez de torná-los todos iguais, por exemploObserve que você não precisa
$(this)
dentro do manipulador, pois a.checked
propriedade existe em todos os navegadores.fonte
Aqui está outra maneira que você deseja.
fonte
Eu acho que é mais simples acionar um clique:
fonte
A melhor maneira que eu consigo pensar.
ou
ou
fonte
Desde o jQuery 1.6, você pode usar
.prop(function)
para alternar o estado verificado de cada elemento encontrado:fonte
Use este plugin:
Então
fonte
Supondo que seja uma imagem que precise alternar a caixa de seleção, isso funciona para mim
fonte
Check-tudo checkbox deve ser atualizado em si , sob certas condições. Tente clicar em '# selecionar todos os membros da equipe' , desmarque alguns itens e clique em selecionar todos novamente. Você pode ver inconsistência. Para impedi-lo, use o seguinte truque:
Aliás, todas as caixas de seleção do objeto DOM devem ser armazenadas em cache, conforme descrito acima.
fonte
Aqui está uma maneira do jQuery de alternar as caixas de seleção sem precisar selecionar uma caixa de seleção com html5 & labels:
http://www.bootply.com/A4h6kAPshx
fonte
se você deseja alternar cada caixa individualmente (ou apenas uma caixa também funciona):
Eu recomendo usar .each (), pois é fácil modificar se você deseja que diferentes coisas aconteçam e ainda seja relativamente curto e fácil de ler.
por exemplo :
em uma nota lateral ... não sei por que todo mundo usa .attr () ou .prop () para (des) verificar as coisas.
até onde eu sei, o element.checked sempre funcionou da mesma forma em todos os navegadores?
fonte
;)
fonte
Você pode escrever assim também
Só precisa chamar o evento click da caixa de seleção quando o usuário clicar no botão com o ID '# checkbox-toggle'.
fonte
Uma abordagem melhor e UX
fonte
Tentar:
fonte
Este funciona muito bem para mim.
fonte
!
sinal antes dele ..O exemplo mais básico seria:
fonte
simplesmente você pode usar isso
fonte
no meu palpite, o homem mais correto que sugeriu a variante normal é o GigolNet Gigolashvili, mas eu quero sugerir uma variante ainda mais bonita. Confira
fonte
Definir 'marcado' ou nulo em vez de verdadeiro ou falso, respectivamente, fará o trabalho.
fonte
Esse código alternará a caixa de seleção ao clicar em qualquer animador de alternância usado em modelos da web. Substitua ".onoffswitch-label" conforme disponível no seu código. "checkboxID" é a caixa de seleção alternada aqui.
fonte
Bem, há uma maneira mais fácil
Primeiro, dê às suas caixas de seleção um exemplo de classe 'id_chk'
Em seguida, dentro da caixa de seleção que controlará as caixas de seleção 'id_chk', coloque:
<input type='checkbox' onchange='js:jQuery(".id_chk").prop("checked", jQuery(this).prop("checked"))' />
Isso é tudo, espero que isso ajude
fonte