Marcar Todos/Vários Checkbox de uma Vez usando Prototype

29 05 2008

Saudações

Todo mundo já teve que fazer um checkbox que ao ser clicado “ticava” todos os outros checkbox de uma lista. Hoje novamente passei por isso e escrevi um código Javascript que modéstia a parte achei bem bonitinho.

O HTML

<div id="modulo_1" class="div_modulo">
<input type="checkbox" onclick="grupopermissao.ticarTodasAcoes(1)" id="check_1" />Todos
<input type="checkbox" /> Opção 1
<input type="checkbox" /> Opção 2
<input type="checkbox" /> Opção 3
</div>

o navegador vai ficar mais ou menos assim:

O Javascript

var grupopermissao = {
  ticarTodasAcoes : function(div){
    $$("#modulo_"+div+' input').each(function(e){
      e.checked = $("check_"+div).checked;
    });
  }
}

Explicação

Ao clicar no checkbox (que marca todos os outros) será chamada o método grupopermissao.ticarTodasAcoes passando como parâmetro o número do DIV onde estão contidos os checkbox que devem ser “ticados”, a função $$ pertence a biblioteca prototype, ela vai selecionar elementos através de regras CSS 2, no caso vai pegar todos os inputs de dentro do DIV, esta função retorna um enumerable que é iterado com o uso da função each e por fim a propriedade checked de cada um dos checkbox ficará iguais a do checkbox todos, ou seja a função “tica” e “destica” tudo numa função só 🙂

Bom agora é só adaptar ai pra sua realidade e “magavilha”.

[]’s Anselmo Battisti

Anúncios

Ações

Information

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s




%d blogueiros gostam disto: