Foros del Web » Programando para Internet » Javascript »

problema javascript con combo

Estas en el tema de problema javascript con combo en el foro de Javascript en Foros del Web. es un problema simple, pero no se hacerlo. tengo un combo con varias opciones. y abajo tengo entre <script> y </script> un codigo javascript. el ...
  #1 (permalink)  
Antiguo 09/11/2008, 14:27
 
Fecha de Ingreso: marzo-2008
Mensajes: 237
Antigüedad: 16 años, 1 mes
Puntos: 6
problema javascript con combo

es un problema simple, pero no se hacerlo.

tengo un combo con varias opciones.

y abajo tengo entre <script> y </script> un codigo javascript.

el tema es:

segun la opcion seleccionada en el combo, en una determinada var de javascript tengo que concatenar diferentes cosas.

no se puede hacer no?
  #2 (permalink)  
Antiguo 09/11/2008, 14:35
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: problema javascript con combo

Puedes usar el evento onchange del select, con selectedIndex obtienes el índice del option seleccionado o con value obtienes el value de la opción seleccionada, luego con un switch actúas de acuerdo a eso.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 09/11/2008, 16:04
 
Fecha de Ingreso: marzo-2008
Mensajes: 237
Antigüedad: 16 años, 1 mes
Puntos: 6
Respuesta: problema javascript con combo

si....lo vi pero.....no entiendo que tengo que poner adentro del onchange.

no tenes algun ejemplo de 3,4... lineas para que entienda mejor?
gracias

Última edición por razer; 09/11/2008 a las 16:19
  #4 (permalink)  
Antiguo 09/11/2008, 16:14
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: problema javascript con combo

Podría ser algo como esto:
Código javascript:
Ver original
  1. select.onchange = function() { /* Asignamos el onchange */
  2.     switch (this.selectedIndex) { /* Para saber la opción seleccionada */
  3.         case 0:
  4.               /* Código para primera opción */
  5.               break;
  6.         case 1:
  7.               /* Código para segunda opción */
  8.               break;
  9.         case 2:
  10.               /* Código para tercera opción */
  11.               break;
  12.         default:
  13.                /* Código para cualquer otra opción */
  14.                break;
  15.     }
  16. }
Lógicamente, select debe ser la referencia a tu select.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #5 (permalink)  
Antiguo 10/11/2008, 08:34
 
Fecha de Ingreso: marzo-2008
Mensajes: 237
Antigüedad: 16 años, 1 mes
Puntos: 6
Respuesta: problema javascript con combo

Si, ese vendria a ser el codigo que pongo dentro del javascript <script> y </script>
pero antes del javascript debo poner el select. Algo como esto:

Código:
	<form>
	<div>
	<select>
	<option>opcion 1</option>
	<option>opcion 2</option>
	</select>
	</div>
	</form>
pero esto no va asi no? a eso me referia....
el <form> tiene que tener un onchange, no? tipo <form onchange="algo">
pero como seria? <form onchange="function();"> y listo ? como sino :S

perdon por la gran ignorancia jjejej....
  #6 (permalink)  
Antiguo 10/11/2008, 08:37
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: problema javascript con combo

No, los formularios no tienen onchange :.

Además, no es necesario poner el onchange en el select ya que el código se encarga de asignar una función al onchange.

Solo tienes que obtener la referencia con getElementById y sustituir por donde dice select en el código.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #7 (permalink)  
Antiguo 10/11/2008, 16:29
 
Fecha de Ingreso: marzo-2008
Mensajes: 237
Antigüedad: 16 años, 1 mes
Puntos: 6
Respuesta: problema javascript con combo

yo que se soy molesto, pero las palabras no me sirven, el codigo si :D
soy novato en esto sry.....
como es? paste code, es 2 o 3 lineas nomas :D

osea, primero el selectedIndex, ahora el getElement... me quedan las cosas confusas.
CODE! es la unica forma ke lo entienda :D

Última edición por razer; 10/11/2008 a las 16:47
  #8 (permalink)  
Antiguo 10/11/2008, 17:09
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: problema javascript con combo

Hola, razer.

Yo no pienso así, si te pongo código no vas a entender, digo, te va a funcionar, pero de entender no vas a entender ya que no entendiste de qué va el ejemplo que te puse.

A ver, vayamos por pasos:
https://developer.mozilla.org/en/DOM...getElementById

Leyendo eso sabrás cómo usar getElementById para obtener el elemento select de tu página, aunque, hay que tener en cuenta que las asignaciones de eventos en la mayoría de los casos las haremos al cargar la página, si trataramos de hacerlo antes daría un error. ¿Cómo sé que ya fue cargada la página? El evento onload.
Código javascript:
Ver original
  1. window.onload = function() {
  2.     /* Este código se ejecuta al cargar la página */
  3. }

Bueno, ya tienes el elemento select y ya sabes que hay que obtenerlo en el onload, ¿y ahora qué?. Pues asigna el evento onchange como te expliqué en el ejemplo, después de asignada una función a ese evento, cada vez que se cambie el select se ejecutará ese código, con lo que podrás realizar las acciones deseadas.

Por último, te resultará útil leer este apartado de la Guía para realizar preguntas del foro para futuras dudas:
http://www.forosdelweb.com/faq.php?f...deslarespuesta

En fin, la intención no es hacerte más difícil el trabajo, la intención es ayudarte a no solo copiar código, sino a entenderlo y aprender de él.

Saludos y éxitos .
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
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 22:27.