Jump to content
Fórum Script Brasil
  • 0

[resolvido] Selecionar Todos E Somar Todos Checkbox


Tayso
 Share

Question

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 to comment
Share on other sites

6 answers to this question

Recommended Posts

  • 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 to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other 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 [email protected]

Muito Obrigado

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Forum Statistics

    • Total Topics
      149.8k
    • Total Posts
      646.6k
×
×
  • Create New...