Jump to content

Recommended Posts

Posted (edited)

Boas a todos,

Não sei se este é o local mais apropriado para isto, mas cá vai.

Muitas vezes temos uma checkbox que serve para as seleccionarmos todas, venho partilhar-vos o código que desenvolvi para isso.

function selecta()
{
   var elem = document.getElementById('mostra').childNodes; //onde está "mostra" deverão colocar o nome da vossa form que contém as checkboxes
   //percorre todos os elementos da form
   for(var i = 0; i < elem.length; i++)
   {
       //se o elemento actual for uma checkbox e tiver o nome de "apagar", executa o código
       if(elem[i].type=="checkbox" && elem[i].name=="apagar")
       {
           //troca o check à checkbox
           elem[i].checked=!elem[i].checked;
       }
   }
}

No HTML deverá ser uma coisa deste género:

<input type='checkbox' class='apagar_geral' id='select_geral' name='select_geral' onclick="selecta()">

Dúvidas ou sugestões não hesitem 🙂

Edited by brunoais
código alterado com a autorização do autor

Cumps.cmd

Posted

Aonde é que viste o atributo elements?

O que eu vejo no standard é childNodes (como aqui: https://developer.mozilla.org/en/childNodes).

Como n gosto de ver dados errados no forum tenho q fazer isto: Se n existir resposta em 48h este tópico é apagado.

"[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31

Life is a genetically transmitted disease, induced by sex, with death rate of 100%.

Posted

Aonde é que viste o atributo elements?

O que eu vejo no standard é childNodes (como aqui: https://developer.mo...g/en/childNodes).

Sempre e' melhor seguir os standard's.

Não sei se este é o local mais apropriado para isto, mas cá vai.

//...

Dúvidas ou sugestões não hesitem 🙂

Penso que ficava melhor no armazem de codigo

podias encurtar o codigo em vez de meters um if e um else

/* //se a checkbox estiver seleccionada, executa o código
                       if(elem[i].checked==false)
                       {
                               //faz o check à checkbox
                               elem[i].checked=true;
                       }
                       else
                       {
                               //retira o check à checkbox
                               elem[i].checked=false;
                       }*/
elem[i].checked=!elem[i].checked;

fica mais pequeno o codigo

Por muito mais que que estude só aprendo uma coisa, que ainda tenho muita coisa para aprender.

A beleza de um código está em decompor problemas complexos em pequenos blocos simples.

"learn how to do it manually first, then use the wizzy tool to save time."

"Kill the baby, don't be afraid of starting all over again. Fail soon, learn fast."

Posted

Em vez de apagares, fazias melhor em editar e corrigir o autor. --'

Eu atuo como autoridade e não como autor do post. Posso pedir autorização para isso, mas assim o autor do código passa a ser o cmd em conjunto comigo.

Sempre e' melhor seguir os standard's.

É o que eu acho. Mesmo que o IE muitas vezes exija hacks.

podias encurtar o codigo em vez de meters um if e um else

elem[i].checked=!elem[i].checked;

fica mais pequeno o codigo

Tb vou nessa 😉.

"[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31

Life is a genetically transmitted disease, induced by sex, with death rate of 100%.

Posted (edited)

Não vi isso em lado nenhum, já tinha essa função feita em C# e tentei adaptar para JS e funcionou.

Mas quem quiser editar fique à vontade, é da maneira que aprendo mais coisas novas 👍

elem[i].checked=!elem[i].checked;

Podes-me explicar como funciona isso?

Edited by cmd

Cumps.cmd

Posted
elem[i].checked=!elem[i].checked;

Podes-me explicar como funciona isso?

o operador '!' troca o valor da variavel, se a variavel tiver o valor de zero(false) entao passa para 1(true) e vice-versa.

o que eu estou a fazer e' meter o elem[i].checked e' igual ao seu valor ao contrario, e' exactamente igual ao teu if e else

Por muito mais que que estude só aprendo uma coisa, que ainda tenho muita coisa para aprender.

A beleza de um código está em decompor problemas complexos em pequenos blocos simples.

"learn how to do it manually first, then use the wizzy tool to save time."

"Kill the baby, don't be afraid of starting all over again. Fail soon, learn fast."

Posted

o operador '!' troca o valor da variavel, se a variavel tiver o valor de zero(false) entao passa para 1(true) e vice-versa.

o que eu estou a fazer e' meter o elem[i].checked e' igual ao seu valor ao contrario, e' exactamente igual ao teu if e else

Já percebi!

É mesmo mais pequeno, não sabia que dava para fazer assim, já alterei.

Obrigado.

Cumps.cmd

Posted (edited)

o operador '!' troca o valor da variavel, se a variavel tiver o valor de zero(false) entao passa para 1(true) e vice-versa.

Ai que já te estás a trocar com o C (& cia)

var a = !1

a é false (e não 0)

a = !0

a é true (e não 1)

O operador ! troca a veracidade da variável. Passa de false para true e de true para false.


Ao abrigo da autorização do autor:

Mas quem quiser editar fique à vontade, é da maneira que aprendo mais coisas novas 👍

Alterei o 1º post tendo em conta toda a discussão deste tópico.

Edited by brunoais
(depois do hr)

"[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31

Life is a genetically transmitted disease, induced by sex, with death rate of 100%.

Posted

pois, baseei a minha resposta do meu conhecimento de C.

Obrigado pela correccao

Por muito mais que que estude só aprendo uma coisa, que ainda tenho muita coisa para aprender.

A beleza de um código está em decompor problemas complexos em pequenos blocos simples.

"learn how to do it manually first, then use the wizzy tool to save time."

"Kill the baby, don't be afraid of starting all over again. Fail soon, learn fast."

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.