• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

xplode_me

Seleccionar / des-seleccionar todas as checkboxes duma form

6 mensagens neste tópico

<script type="text/javascript">
function checkall(formname,checkname,thestate){
var el_collection=eval("document.forms."+formname)
for (c=0;c<el_collection.length;c++)
{
if(el_collection[c].type=='checkbox') el_collection[c].checked=thestate;
}

}
</script>

<a href="javascript:checkall('action','setanswered[]','true')">Seleccionar todas</a>
<a href="javascript:checkall('action','setanswered[]','false')">Seleccionar nenhuma</a>

Uso este código para seleccionar ou remover todas as checkboxes duma determinada form, passada como parametro a funcao checkall.

O problema é que ele apenas selecciona as checboxes. Se fizer "Seleccionar nenhuma" ele nao faz nada, e se estiverem algumas des-seleccionadas ele selecciona essas tambem.... lol

Any help please?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

não consegui descobrir o que estava mal no teu código por isso aqui está uma solução alternativa:

Javascript:

<script language="JavaScript">
function setChecked(fields, checked){
        for (i = 0; i < fields.length; i++)
      fields[i].checked = checked ;
}
</script>

HTML:

<form name="myform" action="checkboxes.asp" method="post">
<input type="checkbox" name="list" value="1">a<br />
<input type="checkbox" name="list" value="2">b<br />
<input type="checkbox" name="list" value="3">c<br />
<input type="checkbox" name="list" value="4">d<br />
<input type="checkbox" name="list" value="5">e<br />

<a href="javascript:setChecked(document.form.list,'true')">Seleccionar todas</a>
<a href="javascript:setChecked(document.form.list,'false')">Seleccionar nenhuma</a>

</form>

EDIT: Correção apontada pelo Marinheiro  :thumbsup:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

epa.. javascript é uma coisa que nunca usei. Mas vou usar a partir de agora... dando uma olhadela rápida no código do kyu, penso que deve ser uma coisa tipo:

<script language="JavaScript">
function setChecked(fields, checked){
        for (i = 0; i < fields.length; i++){
      if (fields[i].checked == true){
                       fields[i].checked = false;
              }
              else{
                     fields[i].checked = true;
              } 
        }
}
</script>

Ora experimenta aí

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

hmm, isso funciona mas o if é desnecessário, já apliquei a correção que o Marinheiro apontou ao código acima  :-[

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Bem, o problema da funcao era que tinha 'false' e 'true' quando nao devia ter ' porque enviava strings o que eu nao queria....

Enfim :thumbsup:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora