Ir para conteúdo
Fórum Script Brasil
  • 0

[resolvido] Selecionar Todos E Somar Todos Checkbox


Tayso

Pergunta

Bom dia Pessoal, sou novo no forun, e to com um problema, tenho uma soma de checkbox, e um selecionar todos os checkbox, porem quando eu seleciono um por um a soma se realiza, quando eu clicko em selecionar todos ele seleciona mas não soma, vou postar o codigo abaixo.

<html>
<body>


<head>

<script LANGUAGE="JavaScript">
<!--
function checkChoice(whichbox) {
with (whichbox.form) {
if (whichbox.checked == false)
hiddentotal.value = eval(hiddentotal.value) - eval(whichbox.value);
else
hiddentotal.value = eval(hiddentotal.value) + eval(whichbox.value);
return(formatCurrency(hiddentotal.value));
   }
}
function formatCurrency(num) {
num = num.toString().replace(/\$|\,/g,'');
if(isNaN(num)) num = "0";
cents = Math.floor((num*100+0.5)%100);
num = Math.floor((num*100+0.5)/100).toString();
if(cents < 10) cents = "0" + cents;
for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
num = num.substring(0,num.length-(4*i+3))+','+num.substring(num.length-(4*i+3));
return ("R$" + num + "." + cents);
}

// funcoes somas de checkds

function checkChoice(whichbox) {
with (whichbox.form) {
if (whichbox.checked == false)
hiddentotal.value = eval(hiddentotal.value) - eval(whichbox.value);
else
hiddentotal.value = eval(hiddentotal.value) + eval(whichbox.value);
return(formatCurrency(hiddentotal.value));
   }
}

// -->
</script>
</head>
<body>

<center>
<table>
<tr>
<td>
<form name=myform>
<td class="tleft" align="center"><a href="java script:checkall('myform','somas',true)">Check All</a><br>
<a href="java script:checkall('myform','somas',false)">Uncheck All</a>

</td>
<pre>
<font face=verdana size=1>COMPRAS
DISCO   R$ 10,00     <input type=checkbox name=Steak value="10.00" onClick="this.form.total.value=checkChoice(this);">
CD  R$ 20,00            <input type=checkbox name=Chicken value="20.00" onClick="this.form.total.value=checkChoice(this);">
TECLADO    R$ 30,00  <input type=checkbox name=Sushi value="30.00" onClick="this.form.total.value=checkChoice(this);">
<br>
Total: <input type="text" name="total" value="" size=6 readonly><input type=hidden name=hiddentotal value=0>
</pre>
</form>
</td>
</tr>
</table>
</center>
</body>
</html>

Algurm pode me ajudar, já postei em outros forun e ninguém conseguiu me ajudar.

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0
Seja bem vindo ao forum,

poste a função checkall

Bom dia Andreia esta ai a funcao

function checkall(formname,checkname,thestate){

var el_collection=eval("document.forms."+formname+"."+checkname)

for (c=0;c<el_collection.length;c++)

el_collection[c].checked=thestate

}

Link para o comentário
Compartilhar em outros sites

  • 0
Tá dificil de entender teu codigo, onde estão os campos "somas", o que seriam eles?

Oi Andreeia vou postar o codigo, tenho um form com checkbox, que quando selecionado calcula os valores do mesmo, tenho uma opção de selecionar todos os itens, ele seleciona, mas efetua o calculo do valor total

<html>
<body>
<head>
<script LANGUAGE="JavaScript">
<!--

//funcao para checar acao do check

function checkChoice(whichbox) {
with (whichbox.form) {
if (whichbox.checked == false)
hiddentotal.value = eval(hiddentotal.value) - eval(whichbox.value);
else
hiddentotal.value = eval(hiddentotal.value) + eval(whichbox.value);
return(formatCurrency(hiddentotal.value));
   }
}

//funcao para efetuar a soma

function formatCurrency(num) {
num = num.toString().replace(/\$|\,/g,'');
if(isNaN(num)) num = "0";
cents = Math.floor((num*100+0.5)%100);
num = Math.floor((num*100+0.5)/100).toString();
if(cents < 10) cents = "0" + cents;
for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
num = num.substring(0,num.length-(4*i+3))+','+num.substring(num.length-(4*i+3));
return ("R$" + num + "." + cents);
}

//funcao para selecionar todos os checks

function checkall(formname,checkname,thestate){
var el_collection=eval("document.forms."+formname+"."+checkname)
for (c=0;c<el_collection.length;c++)
el_collection[c].checked=thestate
}

// -->
</script>
</head>
<body>
<center>
<table>
<tr>
<td>
<form name=myform>
<pre>
<font face=verdana size=1>COMPRAS
DISCO   R$ 10,00     <input type=checkbox name=somas value="10.00" onClick="this.form.total.value=checkChoice(this);">
CD  R$ 20,00            <input type=checkbox name=somas value="20.00" onClick="this.form.total.value=checkChoice(this);">
TECLADO    R$ 30,00  <input type=checkbox name=somas value="30.00" onClick="this.form.total.value=checkChoice(this);">
<br>
Total: <input type="text" name="total" value="" size=6 readonly><input type=hidden name=hiddentotal value=0>
<td align="center"><a href="java script:checkall('myform','somas',true)">Check All</a><br><a href="java script:checkall('myform','somas',false)">Uncheck All</a></td>
</pre>
</form>
</td>
</tr>
</table>
</center>
</body>
</html>

Valeu pela atenção ate agora ninguém tinha me ajudado. valeuuuuuuuuuuuuuu

Link para o comentário
Compartilhar em outros sites

  • 0

Olha eu vo coloca uma adaptação da tua funcao, mas já tem bug se o usuario clicar varias vezes no checkall e unchek, infelizmente to meio atrapalhada aqui e não tem como te ajudar melhor no script.

function checkall(thestate){

var el_collection=document.forms.myform;

for (c=0;c<el_collection.length;c++)
{
    el_collection[c].checked=thestate;
    if (el_collection[c].type == "checkbox")
    {
        document.myform.total.value = checkChoice(el_collection[c]);
    }
}
}

De uma olhada no google se já não tem essa funcao pronta, se eu achar alguma coisa te aviso aqui ;)

Link para o comentário
Compartilhar em outros sites

  • 0
Olha eu vo coloca uma adaptação da tua funcao, mas já tem bug se o usuario clicar varias vezes no checkall e unchek, infelizmente to meio atrapalhada aqui e não tem como te ajudar melhor no script.

function checkall(thestate){

var el_collection=document.forms.myform;

for (c=0;c<el_collection.length;c++)
{
    el_collection[c].checked=thestate;
    if (el_collection[c].type == "checkbox")
    {
        document.myform.total.value = checkChoice(el_collection[c]);
    }
}
}

De uma olhada no google se já não tem essa funcao pronta, se eu achar alguma coisa te aviso aqui ;)

Oi Andreia valeu mesmo eu adaptei o codigo a minha necessidade, o codigo é para um relatorio de um sisteminha, valeu mesmo pela forca, gostaria de saber se trabalha com programacao também, poderiamos fechar uma parceria...caso tenho interesse meu email e tayso@notusinfo.com.br.

Muito Obrigado

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...