Ir para conteúdo

Arquivado

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

DouglasP

- Somar e subtrair valores de checkbox

Recommended Posts

Boa tarde,

estou desenvolvendo uma pagina de compra pro meu servidor de jogo,

e preciso que ao selecionar os checkbox ele some o valor de cada checkbox que no caso são todos iguais (3) ao valor do anterior,

ate ai funciona beleza,

se eu seleciono 1 ele soma se eu desceleciona esse mesmo ele subtrai certinho,

mas ao selecionar mais de 1 e descelecionar ele fica louco, ele sai somando.

 

abaixo meu codigo:

 

Pagina de compra

 

<input name="ex1" id="ex1" value="<? echo $precos[2]; ?>" onclick="recalcular(6)" type="checkbox" />
<input name="ex2" id="ex2" value="<? echo $precos[2]; ?>" onclick="recalcular(6)" type="checkbox" />
<input name="ex3" id="ex3" value="<? echo $precos[2]; ?>" onclick="recalcular(6)" type="checkbox" />
<input name="ex4" id="ex4" value="<? echo $precos[2]; ?>" onclick="recalcular(6)" type="checkbox" />
<input name="ex5" id="ex5" value="<? echo $precos[2]; ?>" onclick="recalcular(6)" type="checkbox" />
<input name="ex6" id="ex6" value="<? echo $precos[2]; ?>" onclick="recalcular(6)" type="checkbox" />

abaixo o javascript completo:

 

function recalcular(last)
	{

		preço = document.getElementById("preço").value
		option = document.getElementById("option").value
		level = document.getElementById("level").value
		luck = document.getElementById("luck").value
		
		optexc = document.getElementById("preço").value
		precofinal = document.getElementById("precofinal").value
		
		preco_level = document.getElementById("preco_level").value
		preco_option = document.getElementById("preco_option").value
		preco_luck = document.getElementById("preco_luck").value
		preco_optexc = document.getElementById("preco_optexc").value
		
		var form = document.shop;
		
		if(last = 1)
		{
		if (form.ex1.checked){
		document.getElementById("precofinal").value = ((parseFloat(precofinal))+(parseFloat(preco_optexc)));
		}
		else
		{
		document.getElementById("precofinal").value = ((parseFloat(precofinal))-(parseFloat(preco_optexc)));
		
		if(last = 2)
		{
		if (form.ex2.checked){
		document.getElementById("precofinal").value = ((parseFloat(precofinal))+(parseFloat(preco_optexc)));
		}
		else
		{
		document.getElementById("precofinal").value = ((parseFloat(precofinal))-(parseFloat(preco_optexc)));
		
		if(last = 3)
		{
		if (form.ex3.checked){
		document.getElementById("precofinal").value = ((parseFloat(precofinal))+(parseFloat(preco_optexc)));
		}
		else
		{
		document.getElementById("precofinal").value = ((parseFloat(precofinal))-(parseFloat(preco_optexc)));
		
		if(last = 4)
		{
		if (form.ex4.checked){
		document.getElementById("precofinal").value = ((parseFloat(precofinal))+(parseFloat(preco_optexc)));
		}
		else
		{
		document.getElementById("precofinal").value = ((parseFloat(precofinal))-(parseFloat(preco_optexc)));
		
		if(last = 5)
		{
		if (form.ex5.checked){
		document.getElementById("precofinal").value = ((parseFloat(precofinal))+(parseFloat(preco_optexc)));
		}
		else
		{
		document.getElementById("precofinal").value = ((parseFloat(precofinal))-(parseFloat(preco_optexc)));
		
		if(last = 6)
		{
		if (form.ex6.checked){
		document.getElementById("precofinal").value = ((parseFloat(precofinal))+(parseFloat(preco_optexc)));
		}
		else
		{
		document.getElementById("precofinal").value = ((parseFloat(precofinal))-(parseFloat(preco_optexc)));
		
	//	var SomaLevel = ((parseFloat(level))*(parseFloat(preco_level)));
	//	var SomaLevelx = ((parseFloat(SomaLevel))+(parseFloat(preço)));
	//	document.getElementById("precofinal").value = SomaLevelx;

		
	//	var SomaOption = ((parseFloat(option))*(parseFloat(preco_option)));
	//	document.getElementById("precofinal").value = ((parseFloat(SomaOption))+(parseFloat(precofinal)));
		

				
//document.getElementById("precofinal").value = SomaLuckeOption;
}}}}}}}}}}}}}

onde ta o erro?

pq quando seleciona + de 1 checkbox e desceleciona em vez de subtrair ele soma,

e se você fizer em so 1 checkbox funciona normalmente.

 

Grato.

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.