Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/03/2012, 05:46
setenta
 
Fecha de Ingreso: octubre-2008
Mensajes: 70
Antigüedad: 15 años, 6 meses
Puntos: 2
Convertir una constante de formulario en una variable

Hola. Este es el código javascript y los 2 formularios (listas/select):

Cita:
<script language="javascript">
function seleccionar() {
var form = document.getElementById('formulario');
var indice = form.cantidad.selectedIndex;
var c_gramos = form.cantidad.options[indice].value;
indice = form.carnes.selectedIndex;
var calorias = form.carnes.options[indice].value;
var nombre = form.carnes.options[indice].text;

lista.push(new Seleccion(nombre,calorias,c_gramos));
calculate();
}
...
...
...
</script>

<select name=carnes onchange="seleccionar(this);"/>
<select name=cereales onchange="seleccionar(this);"/>
Como se ve en el script, hay una constante llamada "carnes", ( var calorias = form.carnes.options[indice].value; var nombre = form.carnes.options[indice].text;)
que cuando en la lista " select name=carnes " se hace una selección, se llama a la funcion seleccionar(), haciendo el cálculo correspondiente. Esto anda muy bien, no hay problemas.
Yo quiero mejorar el código, porque cuando agrego una lista como por ejemplo:

Cita:
<select name=cereales onchange="seleccionar(this);"/>
Llama a la funcion donde esta "carnes" y sigue colocando valores de carnes y no de cereales.
En síntesis, yo dupliqué la función con otro nombre (seleccionar_cereales) y funciona con cereales. Pero el código es redundante y si quiero poner, por ejemplo, 10 selects, tengo que poner 10 funciones seleccionar_X.
Mi pregunta es como puedo hacer que la palabra carnes DE LA FUNCION SELECCIONAR sea una variable, y que cuando cambie un select cualquiera, cambie el valor de esta variable por carnes, cereales, etc.
Espero que me haya hecho entender. Saludos