Jump to content


Photo

Trabalhando Com Radios E Seus Valores Adicionando E Subtraindo Valores


  • Faça o login para participar
3 replies to this topic

#1 Greg

Greg

    Ativo

  • Usuários
  • 302 posts
  • Sexo:Não informado
  • Localidade:Florianópolis

Posted 14/04/2009, 13:46

Seguinte pessoal:

Possuo radios da seguinte forma:

[codebox]<input type="radio" value="10" name="categoria" id="cat1">[/codebox]
[codebox]<input type="radio" value="20" name="categoria" id="cat2">[/codebox]
[codebox]<input type="radio" value="30" name="categoria" id="cat3">[/codebox]

E outros radios da seguinte forma, todos dentro do mesmo form:

[codebox]<input type="radio" value="15" name="modelo" id="mod1">[/codebox]
[codebox]<input type="radio" value="25" name="modelo" id="mod2">[/codebox]
[codebox]<input type="radio" value="35" name="modelo" id="mod3">[/codebox]

e uma div dessa forma:

[codebox]<div id="mostra_preco"></div>[/codebox]

Bem, o que acontece? Quando eu clique no radio de name="categoria" e id="cat1" é executada uma função onde adiciono o valor desse radio na div mostra_preco, nesse caso 10. Caso eu clique no radio de name="modelo" e id="mod2", uma função é executada e adiciono o valor desse radio, nesse caso 25 juntamente com o valor que já existe na div, que era 10 e fico com o valor 35 dentro da div mostra_preco.

Tudo bem, até aí blza, o problema é se caso eu ter feito tudo isso e resolver agora clicar no radio name="categoria" e id="cat3", obviamente o radio name="categoria" e id="cat1" que estava selecionado deixa de estar selecionado para que o radio name="categoria" e id="cat3" fique selecionado, nesse momento eu preciso subtrair o valor da div categoria que estava selecionado anteriormente e adicionar o valor do novo radio selecionado à div mostra_preco, nesse caso eu tinha um valor de 35, mais 30, que é o valor da categoria id="cat3" selecionado, e menos 10 que era o radio selecionado anteriormente, então a div mostra_preco teria o valor de 55.

Será que fui claro?

Comno posso fazer isso?

Valew pessoal!

#2 Renan L. Queiroz

Renan L. Queiroz

    Mestre

  • Usuários
  • 690 posts
  • Sexo:Masculino
  • Localidade:Brasilia - DF

Posted 15/04/2009, 16:52

Seria isso?
<html>
	<head>

		<title> Calculadora </title>

		<script>

			function calcula(obj){

				var num1 = 0, num2 = 0;
				var div = document.getElementById('mostra_preco');
				var cat = document.getElementsByName('categoria');
				var mod = document.getElementsByName('modelo');

				for (i = 0; i < cat.length; i++){
					if (cat[i].checked)
						num1 = parseInt(cat[i].value);
				}

				for (i = 0; i < mod.length; i++){
					if (mod[i].checked)
						num2 = parseInt(mod[i].value);
				}

				div.innerHTML = (num1 + num2);
			}

		</script>

	</head>

	<body>

		CATEGORIA: <br/>
		<input type="radio" value="10" name="categoria" id="cat1" onClick="calcula(this);"> R$ 10 <br/>
		<input type="radio" value="20" name="categoria" id="cat2" onClick="calcula(this);"> R$ 20 <br/>
		<input type="radio" value="30" name="categoria" id="cat3" onClick="calcula(this);"> R$ 30 <br/>

		<br/><br/>

		MODELO: <br/>
		<input type="radio" value="15" name="modelo" id="mod1" onClick="calcula(this);"> R$ 15 <br/>
		<input type="radio" value="25" name="modelo" id="mod2" onClick="calcula(this);"> R$ 25 <br/>
		<input type="radio" value="35" name="modelo" id="mod3" onClick="calcula(this);"> R$ 35 <br/>

		<br/><br/>

		TOTAL:
		<div id="mostra_preco"></div>

	</body>
</html>
Tenta resumir! ;-)

Edição feita por: Renan L. Queiroz, 15/04/2009, 16:53.

Especialidade: Desenvolvimento e Banco de Dados.


Este post lhe ajudou? Agradeça: Posted Image


#3 Greg

Greg

    Ativo

  • Usuários
  • 302 posts
  • Sexo:Não informado
  • Localidade:Florianópolis

Posted 15/04/2009, 17:40

Valeu Renan era exatamente isso, parabéns!

#4 TheHollow

TheHollow

    Novato no fórum

  • Usuários
  • 2 posts
  • Sexo:Não informado

Posted 02/06/2009, 16:11

Legal, eu também tava com duvida exatamente nisso, me ajudou tambem, valeu. (pi) (y)




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq