Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Alexandre Murayama

Somando valores.

Recommended Posts

Seguinte pessoal, estou fazendo um sistema de cálculo de notas em que existem vários combos com três valores cada combo. Na frente de cada combo vai um valor para peso, sendo assim quando o usuário seleciona o valor no combo, esse valor é multiplicado pelo peso. Esse cálculo fiz usando uma função onchange em Javascript, o problema é que eu preciso que ele some o resultado de cada combo com o outro combo, e eu não sei como fazer para guardar o valor, cada combo está fazendo um cálculo independente mas sem somar com o debaixo? Alguém sabe como faço isso?

 

Abraços.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Uma sugestão é você utilizar um input do tipo hide. Nele você armazena os valores conforme for multiplicando.

Ao mudar o item do select ele multiplica com o valor que está o input e adiciona na div que você quer exibir.

 

Se eu entendi certo o que você quer fazer isso resolve, hehehe.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Uma sugestão é você utilizar um input do tipo hide. Nele você armazena os valores conforme for multiplicando.

Ao mudar o item do select ele multiplica com o valor que está o input e adiciona na div que você quer exibir.

 

Se eu entendi certo o que você quer fazer isso resolve, hehehe.

 

Então cara, eu acho que saquei a sugestão, o problema é que não sei como aplicar isso, rs. Tentei e não sei se fiz certo. Como seria mais ou menos?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Posta o que você fez aí.

 

Se você conseguir entender, nem eu sei mais o que tô fazendo, rs:

 

function soma(campo, contador){   

 

var total;

var peso = document.form1.txtPeso[contador-1].value;

var valor;

var result = document.form1.result.value;

 

peso = peso.replace(",",".")

 

total = ((Number(campo.value))*(Number(peso)));

 

result = result + total;

  

    document.form1.txtNotaTotal.value = result;   

 

}

 

<input type="hidden" name="result" value=""> <-- Esse é o hidden que tentei fazer.

 

<input name="txtNotaTotal" type="text" readonly class="caixaTexto" id="txtNotaTotal" value="<%=result%>" size="5" maxlength="4"> <-- Aqui é onde aparece o resultado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tem uma coisa estranha aí.

você declarou no js o seguinte:

...
document.form1.txtNotaTotal.value = result;
...

E depois no html você colocou:

<input name="txtNotaTotal" type="text" readonly class="caixaTexto" id="txtNotaTotal" [b]value="<%=result%>"[/b] size="5" maxlength="4">

você está alterando duas vezes o value do text.

 

Se possivel posta a parte do html que estão os selects tmb.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tem uma coisa estranha aí.

você declarou no js o seguinte:

...
document.form1.txtNotaTotal.value = result;
...

E depois no html você colocou:

<input name="txtNotaTotal" type="text" readonly class="caixaTexto" id="txtNotaTotal" [b]value="<%=result%>"[/b] size="5" maxlength="4">

você está alterando duas vezes o value do text.

 

Se possivel posta a parte do html que estão os selects tmb.

Aí vai meu velho:

 

<td align="center" nowrap>

<input name="txtPeso" type="text" disabled class="caixaTexto" id="txtPeso" value="<%=item.peso%>" size="2" maxlength="2">

</td>

<td class="sub_tit_form" align="center" nowrap>

<SELECT id="cmbdesempenho<%=cn%>" name="cmbdesempenho<%=cn%>" onchange="soma(this, <%=cn%>);">

<OPTION value="">>>Selecione</OPTION> <%dim x1,x2,x3

x1 = ""

x2 = ""

x3 = ""

%>

<%select case xnotas

case "1.0"

x1 = "selected"

case "0.5"

x2 = "selected"

case "0.0"

x3 = "selected"

end select%>

<OPTION value="1.0" <%=x1%>>Elevado</OPTION>

<OPTION value="0.5" <%=x2%>>Moderado</OPTION>

<OPTION value="0.0" <%=x3%>>Baixo</OPTION>

</SELECT></td>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mano, fiz um HTML estático com um exemplo do que você pediu.

É só colocar o ASP nele que já está funcionando certinho.

<html>
<head>
</head>

<script>
	function soma(valor,objeto){
		var valor;
		valor = parseInt(document.getElementById(objeto).value);

		var resultado;

		resultado = parseInt(document.getElementById('txtPeso').value);

		if (isNaN(resultado)){
			resultado = 0;
		}

		resultado = (resultado + valor);
		document.getElementById('txtPeso').value = String(resultado);
	}
</script>


<body>
<form id="form1" name="form1">
<table>
<tr><td align="center" nowrap>
<input name="txtPeso" type="text" disabled class="caixaTexto" id="txtPeso" size="2" maxlength="2">
</td>
<td class="sub_tit_form" align="center" nowrap>
<SELECT id="cmbdesempenho1" name="cmbdesempenho1" onchange="soma(this.value,'cmbdesempenho1');">
<OPTION value="">>>Selecione</OPTION>
<OPTION value="3">Elevado</OPTION>
<OPTION value="2">Moderado</OPTION>
<OPTION value="1">Baixo</OPTION>
</SELECT></td>



<td class="sub_tit_form" align="center" nowrap>
<SELECT id="cmbdesempenho2" name="cmbdesempenho2" onchange="soma(this.value,'cmbdesempenho2');">
<OPTION value="">>>Selecione</OPTION>
<OPTION value="3">Elevado</OPTION>
<OPTION value="2">Moderado</OPTION>
<OPTION value="1">Baixo</OPTION>
</SELECT></td>




<td class="sub_tit_form" align="center" nowrap>
<SELECT id="cmbdesempenho3" name="cmbdesempenho3" onchange="soma(this.value,'cmbdesempenho3');">
<OPTION value="">>>Selecione</OPTION>
<OPTION value="3">Elevado</OPTION>
<OPTION value="2">Moderado</OPTION>
<OPTION value="1">Baixo</OPTION>
</SELECT></td>

</body>
</html>

Se resolveu posta aí pra saber, ok?

 

Ah, não é a internet da sua empresa que está zuada, é o site daqui mesmo que está estranho. ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.