Ir para conteúdo

POWERED BY:

Arquivado

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

JorgeToledo

Somar Valores ComboBox

Recommended Posts

Bom dia, galera.

 

Gostaria de uma ajuda nesse código, gostaria de pegar os valores de cada pergunta no combo box, e no final dá o resultado final.

 

Segue o código:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Formulario</title>
</head>
 
<script>  
     
   function setInput(campo){  
    if (campo == '')  
        document.getElementById("doInput").value = document.getElementById('statusa').value;  
    else   
        document.getElementById("doInput").value = document.getElementById('statusa').value;  
    
    if (campo == '')  
        document.getElementById("doInput").value = document.getElementById('statusa').value;
    
    
   }  
  
  
   function validaCampoVazio(campo) {   
  
   var valorcampo;    
  
   valorcampo = document.getElementById('doInput').value;  
  
    if(valorcampo == 100){  
      
    setCombo(setInput(document.getElementById('statusa').value));  
  
    }     
  
  
}  
  
   function setCombo(value) {  
          
        var result = false;  
      
        var combo  = document.getElementById('statusa');  
          
        if(combo) {  
              
            for(var i=0; i<combo.options.length; i++) {  
                if(combo.options[i].value == value) {  
                    combo.options[i].selected = true;  
                    result = true;  
          
                    break;  
                }  
            }  
        }  
          
        return result;  
}  
  
  </script>  
  </head>  
   <body>  
   <p>O cliente teve um bom atendimento?
    <select id="statusa" name="statusa"  onChange="setInput(document.getElementById('statusa').value);"  >  
      <option value="0,50" >Sim (0,50)</option>  
      <option value="0,25" >Talvez (0,25)</option>
      <option value="0,00" selected="selected" >Não (0,00)</option>
</select>  
<input type="text" id="doInput" onblur="validaCampoVazio();"/> 
 
 <p>Foram sanadas todas as dúvidas do cliente?
    <select id="statusa" name="statusa"  onChange="setInput(document.getElementById('statusa').value);"  >  
      <option value="0,50" >Sim (0,50)</option>  
      <option value="0,25" >Talvez (0,25)</option>
      <option value="0,00" selected="selected" >Não (0,00)</option>
</select>  
<input type="text" id="doInput" onblur="validaCampoVazio();"/> 
 
 <p>O cliente voltará a comprar na nossa loja?
    <select id="statusa" name="statusa"  onChange="setInput(document.getElementById('statusa').value);"  >  
      <option value="0,50" >Sim (0,50)</option>  
      <option value="0,25" >Talvez (0,25)</option>
      <option value="0,00" selected="selected" >Não (0,00)</option>
</select>  
<input type="text" id="doInput" onblur="validaCampoVazio();"/> 
 
<p> Resultado Final:<input type="text" id="doInput" onblur="validaCampoVazio();"/> 
 
</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola...

 

você pode fazer isso facilmente com jquery...

 

segue código:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Formulario</title>
</head>
 
<script src="http://code.jquery.com/jquery-1.10.2.min.js" ></script>  

<script>  
	$(function(){
		$("#calculos select option").click(function(){ // quando usuario escolhe algo começa o programa
			var valorTotal = 0.0;
			$("#calculos select").each(function(){ // lendo todos os selects e pegando valores
				var valor = $(this).val();
				// se tiver valor soma se nao nao avisa o usuário
				if(valor){ 
					valorTotal+=parseFloat(valor);
				}else{
					alert("por favor selecione um valor no campo"+$(this).attr("name"));
				}
			});
			// inserindo resultado da soma no campo de resultados
			$("#doInput").val(valorTotal);
		});
	})	
</script>  
</head>  
<body>  
	<div id="calculos">
	   <p>O cliente teve um bom atendimento?
		<select id="bom-atendimento" name="bom-atendimento" >  
			  <option value="0.50" >Sim (0,50)</option>  
			  <option value="0.25" >Talvez (0,25)</option>
			  <option value="0.00" selected="selected" >Não (0,00)</option>
		</select>  
		 <p>Foram sanadas todas as dúvidas do cliente?
		 <select id="duvidas-sanadas" name="duvidas-sanadas"  >  
			  <option value="0.50" >Sim (0,50)</option>  
			  <option value="0.25" >Talvez (0,25)</option>
			  <option value="0.00" selected="selected" >Não (0,00)</option>
		</select>  

		 <p>O cliente voltará a comprar na nossa loja?
			<select id="voltara-comprar" name="voltara-comprar"  >  
			  <option value="0.50" >Sim (0,50)</option>  
			  <option value="0.25" >Talvez (0,25)</option>
			  <option value="0.00" selected="selected" >Não (0,00)</option>
		</select>  

		<p> Resultado Final:<input type="text" id="doInput" /> 
	</div> 
</body>
</html>

Recomendo que não use um mesmo ID duas vezes, o id é feito para ser utilizado apenas uma vez por pagina se desejar utilizar mais de uma use a class.

 

 

sempre que for trabalhar com dados mais dinamicamente sugiro que use a jQuery assim fica bem mais fácil dominar os elementos e manter a escalabilidade do código o site da mesma(jquery.com) é bem documentado e lá você pode aprender muito sobre ela em

 

api.jquery.com

 

abraços



outra coisa.....

 

como a medida das linguagens de programação é internacional você deve colocar nos values dos campos os números separados por pontos e não virgulas da mesma forma que eu fiz.

 

claro que para o usuário você pode usar virgulas normalmente....

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.