Foros del Web » Programando para Internet » Javascript »

Sumar valores de combobox

Estas en el tema de Sumar valores de combobox en el foro de Javascript en Foros del Web. Hola a todos: Tengo un problemilla con un codigo donde pretendo que en un input text salga la suma de unos valores que estan en ...
  #1 (permalink)  
Antiguo 15/06/2010, 13:25
 
Fecha de Ingreso: junio-2010
Mensajes: 1
Antigüedad: 13 años, 10 meses
Puntos: 0
Sumar valores de combobox

Hola a todos:

Tengo un problemilla con un codigo donde pretendo que en un input text salga la suma de unos valores que estan en unos combox al pulsar un boton:

la funcion es esta:
<script language=javascript>
<!--

function calcular()
{
var total;
total = (form1.origen.options[form1.origen.selectedIndex].value) + (form1.destino.options[form1.destino.selectedIndex].value);
form1.textfield.value = total;
}
//-->
</script>

y el formulario es este:
<form id="form1" name="form1" method="post" action="">
<p>
<select name="origen">
<option value=0>Elija Origen...</option>
<option value=1>Granada</option>
</select>
<select name="destino">
<option value=0>Elija Destino...</option>
<option value=100>Malaga</option>
<option value=44>Aeropuerto</option>
</select>
</label>
</p>
<p>
<label>
<input name="button" type="button" value="Calcular" onclick="calcular()">
</label>
<label>
<input type="text" name="textfield">
</label>
</p>
</form>


pero nada al pulsar el boton, nada...

por favor echarme una mano... gracias...
  #2 (permalink)  
Antiguo 15/06/2010, 13:32
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 13 años, 10 meses
Puntos: 310
Respuesta: Sumar valores de combobox

Código Javascript:
Ver original
  1. function calcular(){
  2. var totalOrigen = parseInt(document.form1.origen.options[document.form1.origen.selectedIndex].value);
  3. var totalDestino = parseInt(document.form1.destino.options[document.form1.destino.selectedIndex].value);
  4. document.form1.textfield.value = totalOrigen + totalDestino;
  5. }

Código HTML:
Ver original
  1. <form id="form1" name="form1" method="post" action="">
  2. <p>
  3. <select name="origen">
  4. <option value='0'>Elija Origen...</option>
  5. <option value='1'>Granada</option>
  6. <select name="destino">
  7. <option value='0'>Elija Destino...</option>
  8. <option value='100'>M&aacute;laga</option>
  9. <option value='44'>Aeropuerto</option>
  10. </p>
  11. <p>
  12. <input name="button" type="button" value="Calcular" onclick="calcular()">
  13. <input type="text" name="textfield">
  14. </p>
  15. </form>

Saludos (:
  #3 (permalink)  
Antiguo 06/05/2011, 16:20
 
Fecha de Ingreso: septiembre-2009
Mensajes: 4
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: Sumar valores de combobox

Me parece perfecto, pero en lugar de calcular usando un boton, como se haría mostrando el total con un label y asi sea más dinámico. gracias.
  #4 (permalink)  
Antiguo 06/05/2011, 17:25
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Sumar valores de combobox

qué tiene ver el tag label con que sea mas dinámico?? un label tiene información sobre el control al que está asociado

a ver si te refieres a esto. con permiso _cronos2
Cita:
<html>
<head>
<script type="text/javascript">
function calcular(cual) {
var total = 0;
for (var i = 0, combos = document.getElementsByName(cual); i < combos.length; i++) {
total += parseInt(combos[i].value);
}
document.form1.textfield.value = total;
}
</script>
</head>
<body>
<form id="form1" name="form1" method="post" action="">
<p>
<select name="sel" onchange="calcular(this.name);">
<option value='0'>Elija Origen...</option>
<option value='1'>Granada</option>
</select>
<select name="sel" onchange="calcular(this.name);">
<option value='0'>Elija Destino...</option>
<option value='100'>M&aacute;laga</option>
<option value='44'>Aeropuerto</option>
</select>
</label>
</p>
<p>
<label>
<input type="text" name="textfield">
</label>
</p>
</form>
</body>
</html>
  #5 (permalink)  
Antiguo 06/05/2011, 18:11
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 13 años, 10 meses
Puntos: 310
Respuesta: Sumar valores de combobox

Cita:
Iniciado por IsaBelM Ver Mensaje
con permiso _cronos2
Adelante
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red
  #6 (permalink)  
Antiguo 08/05/2011, 15:04
 
Fecha de Ingreso: septiembre-2009
Mensajes: 4
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: Sumar valores de combobox

Hola IsaBelM, con lo del label, me referia a que el resultado se muestre como un simple texto y no dentro de un input o caja de texto, no se si me deje entender, aveces ni yo me entiendo je!, muchas gracias por tu aporte, me quedó perfecto :)
  #7 (permalink)  
Antiguo 08/05/2011, 17:05
 
Fecha de Ingreso: mayo-2011
Ubicación: Zaragoza
Mensajes: 58
Antigüedad: 12 años, 11 meses
Puntos: 5
Respuesta: Sumar valores de combobox

No es mi mejor codigo pero tomando tu codigo y sin liar mucho la cosa solo es tomar el value de select cuando es cambiado por el usuario:

Código Javascript:
Ver original
  1. function calcular() {
  2. document.form1.textfield.value = parseInt(document.form1.origen.value) + parseInt(document.form1.destino.value);
  3. }

en el boton llamas a calcular() o sino como dice IsaBelM usas el onchange en la etiqueta select y te ahorras el boton.

Aparte de esto imagino que peterxd quiere decir ademas de lo de optimizar con onchange para no tener que utilizar un boton se referia a quitar el input text y colocar una etiqueta label para solo mostrar el valor....tambien podemos utilizar un div si solo lo vamos a mostrar... en fin a gusto del cliente no?.
  #8 (permalink)  
Antiguo 09/05/2011, 14:37
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Sumar valores de combobox

Cita:
Iniciado por jarios Ver Mensaje
No es mi mejor codigo pero tomando tu codigo y sin liar mucho la cosa solo es tomar el value de select cuando es cambiado por el usuario:
no sé si no has seguido el tema o simplemente te has dicho voy copiar esto y lo edito un poco, seguro que no se dan cuenta
Cita:
Iniciado por jarios Ver Mensaje
Aparte de esto imagino que peterxd quiere decir ademas de lo de optimizar con onchange para no tener que utilizar un boton se referia a quitar el input text y colocar una etiqueta label para solo mostrar el valor....tambien podemos utilizar un div si solo lo vamos a mostrar... en fin a gusto del cliente no?.
Cita:
Iniciado por peterxd Ver Mensaje
Hola IsaBelM, con lo del label, me referia a que el resultado se muestre como un simple texto y no dentro de un input o caja de texto, no se si me deje entender, aveces ni yo me entiendo je!, muchas gracias por tu aporte, me quedó perfecto :)

Etiquetas: combobox
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:18.