Como somar valores dos checkbox`s selecioados?

6 respostas
A

Estou desenvolvendo uma aplicação em ASP e cheguei numa parte onde preciso usar java para somar valores dos checkbox`s, detalhe: os valores dos checkbox são variaveis(loop), eles são retirados de um bd conforme o resultado da busca que é feita pelo usuário no site.

tentei este script aqui:

Bom, quando os valores são constantes este script funciona, mas quando eu coloco o valor da variavel como no ex abaixo ele só mostra uma mensagem escrito “NaN”, alguem tem uma idéia ou um script que possa me ajudar?
aguardo respostas…

checkbox:

<input name=“vlr” type=“checkbox” id=“vlr” onClick="_onclick(this)" value="<%=(mm_tab(“PRECO”).Value)%>">

6 Respostas

dudaskank

Bom, pra começar, Java não é Javascript, que é o que você está usando.

Você pode usar parseFloat no lugar do parseInt para converter com casas decimais, e o número deve estar com o separador de decimal “.”, e não “,”. Acho que isso já basta.

A

em 1º lugar valeu pela dica do parseFloat, ja fiz a alteração no script, porém infelizmente assim mesmo não tive sucesso, tentei de varios modos, sempre o alert sai com aquela msg “NaN” ou então nem responde.
Estou testando com numeros decimais inteiros para facilitar, mas acredito que o problema seja nesta linha if (document.forms.form1.vlr.checked) onde ele verifica se o “vlr” esta selecionado, só que por ser um loop a pagina carrega diversos checkbox`s com o mesmo nome e id (“vlr”). Deve haver algum comando a mais que é usado nesses casos, ou algum outro meio de realizar está soma. Espero que alguem possa me ajudar a solucionar o problema.
Desde ja agradeço…

Roger75

Tente assim:

for (i=0; i<document.forms.form1.vlr.length; i++) {
	if (document.forms.form1.vlr[i].checked) {
                     ....
>
r0g3r10gc
Tente essa teoria:


String campo = jTextField1.getText();
   
   if (campo.equals(""))
   {
    JOptionPane.showMessageDialog(null,"Favor entre com a metragem!","Aviso",JOptionPane.PLAIN_MESSAGE);
   }
        
             
        if (jRadioButton1.isSelected())
        {
          double V1 = Double.parseDouble(this.jTextField1.getText());
             double resultado = (V1 / 10.764);
             String R = String.valueOf(resultado);
             this.jLabel1.setText(""+resultado);     
        }       
        else
            
        if (jRadioButton2.isSelected())
        
        {
            double V2 = Double.parseDouble(this.jTextField1.getText());
             double resultado1 = (V2 * 10.764);
             String R = String.valueOf(resultado1);
             this.jLabel1.setText(""+resultado1);      
        }

//Rogério DVJAVA
J

É isso que você está tentando fazer?

<HTML>
<HEAD>
<TITLE> Teste </TITLE>
<SCRIPT LANGUAGE="JavaScript">
<!--
var total = 0;
function soma(campo) {
	if (campo.checked)
	    total += eval(campo.value);
	else 
		total -= eval(campo.value);
	document.sistema.total.value = total;
}
//-->
</SCRIPT>

</HEAD>

<BODY>
<FORM METHOD=POST ACTION="" name="sistema">

1<input type="checkbox" name="valor" value="1.5" onClick="soma(this)">
2<input type="checkbox" name="valor" value=".5" onClick="soma(this)">
3<input type="checkbox" name="valor" value="3" onClick="soma(this)">
4<input type="checkbox" name="valor" value="4" onClick="soma(this)">

<input type="text" name="total" value="">

</FORM>
</BODY>
</HTML>

Em javascript os campos somente separados por “.” são aceitos. Separados por “,” deverão ser convertidos antes da soma.

A

julianostr!! valeu brother!! era exatamente isso!! agradeço a todos outros que também se habilitaram a tentar me ajudar, meu problema ja foi resolvido! mais uma vez obrigado a todos!! :smiley:

Criado 15 de fevereiro de 2007
Ultima resposta 16 de fev. de 2007
Respostas 6
Participantes 5