Jump to content


Photo

Valor Dependendo Do Nº De Checkbox Selecionadas


  • Faça o login para participar
1 reply to this topic

#1 delaruvi

delaruvi

    Turista

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

Posted 17/06/2007, 11:42

E a pessoal td bom?

Bom é o seguinte tenho um formulario com 5 checkbox e o usuario ao clicar em uma dessas checkbox altera o valor em dinheiro de um textfilde.

Mas ai é que ta se meu usuario selecionar somente 1 checkbox ira aparecer o valor daquele checkbox, se ele selecionar 2 checkbox ira somar o valor dos 2 checkbox e dar um desconto de 10% nesse valor, e se 3 checkbox estiverem selecionados somara o valor dos tres e teria um desconto de 20% e asim vai ate os 5 checkbox selecionados.

Alguem poderia me ajudar com isso. Obrigado.

Estou fazendo verificações para inclusão dos valor no InputText da seguinte forma:

if ((form.fotografia.checked) && (form.word.checked) && (form.corel.checked) && (form.montagem.checked) && (form.flash.checked)){
	tvista = (((precovista1 * 1) + (precovista2 * 1) + (precovista3 * 1)) + ((precovista4 * 1) + (precovista5 * 1)));
	form.vtotalvista.value = tvista.toFixed(2);
	
	tprazo = (((precoprazo1 * 1) + (precoprazo2 * 1) + (precoprazo3 * 1)) + ((precoprazo4 * 1) + (precoprazo5 * 1)));
	form.vtotalprazo.value = tprazo.toFixed(2);
	
	ttres = (tprazo / 3);
	form.vtotaltres.value = ttres.toFixed(2);
	
	tseis = (tprazo / 6);
	form.vtotalseis.value = tseis.toFixed(2);
}

Assim com essa verificação acho q consego fazer tudo que quero mais iria ter q fazer varios if, alguem sabe uma maneira mais facil?

Valeu

Edição feita por: delaruvi, 17/06/2007, 09:28.


#2 bimonti

bimonti

    Super Veterano

  • Usuários
  • 2654 posts
  • Sexo:Masculino

Posted 18/06/2007, 16:42

O esquema é fazer uma função pra verificar tudo de uma vez, exemplo:

<div id="campos">
<input type="checkbox" name="campo1" value="10" onclick="soma();" />Campo 1 <br />
<input type="checkbox" name="campo2" value="14" onclick="soma();" />Campo 2
</div>

A marcação acima não deve estar muito diferente da sua, eu coloquei os elementos dentro de uma div com um id para poder selecionar somente os que estão delimitados. Agora a parte de java script:

function soma(){

var principal = document.getElementById('campos');
var campos = principal.getElementsByTagName('input');

var valor = 0;

for(x=0;x<campos.length;x++){
  valor += campos[x].value;
}

valor = (valor)-(valor/100*(campos.length*10));

alert(valor);
}

É pra funcionar, eu digitei tudo aqui no console do fórum e tô meio sem tempo pra testar. Faz o seguinte, testa e tenta entender a lógica, se der problema e você não conseguir resolver eu vejo se posso te ajudar melhor, pelo menos explicar as partes da função.
WebFórum - Equipe de Desenvolvimento - Monitor
Posted Image
Yeah I do have some stories, and it's true I want all the glory ...




0 user(s) are reading this topic

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

IPB Skin By Virteq