Foros del Web » Programando para Internet » Javascript »

duda sobre <select>

Estas en el tema de duda sobre <select> en el foro de Javascript en Foros del Web. holas queria saber si uds me podrian decir como hacer para que cuando alguien elija una opcion de un select se vaya a otra pagina. ...
  #1 (permalink)  
Antiguo 30/09/2006, 15:18
 
Fecha de Ingreso: mayo-2005
Mensajes: 38
Antigüedad: 19 años
Puntos: 0
duda sobre <select>

holas queria saber si uds me podrian decir como hacer para que cuando alguien elija una opcion de un select se vaya a otra pagina.

de antemano muchas gracias
  #2 (permalink)  
Antiguo 30/09/2006, 17:43
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola:

Con javascript, poniendo el destino en el campo value de las options y usando el evento onchange:

<select onchange="location.href = this.value" ...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 30/09/2006, 17:47
Avatar de webosiris
Moderador egiptólogo
 
Fecha de Ingreso: febrero-2002
Ubicación: Luxor, Egipto
Mensajes: 10.725
Antigüedad: 22 años, 2 meses
Puntos: 998
muevo desde html a javascript
  #4 (permalink)  
Antiguo 30/09/2006, 18:57
 
Fecha de Ingreso: mayo-2005
Mensajes: 38
Antigüedad: 19 años
Puntos: 0
Funciono impeclabe muchas gracias caricatos
  #5 (permalink)  
Antiguo 30/09/2006, 22:06
 
Fecha de Ingreso: diciembre-2003
Mensajes: 1.583
Antigüedad: 20 años, 4 meses
Puntos: 13
Un detalle a tomar en cuenta en este tipo de "select" (conocidos como menú de salto) es que pierde toda su usabilidad y accesibilidad si no se usa con un ratón o mouse (¿has intentado usar este tipo de menúes mediante el teclado?).
  #6 (permalink)  
Antiguo 01/10/2006, 04:41
 
Fecha de Ingreso: abril-2002
Mensajes: 1.014
Antigüedad: 22 años
Puntos: 8
Funcionan perfectamente con el teclado, para expandirlos hay que usar <alt> + flecha abajo cuando el select tiene el foco.

Salu2
  #7 (permalink)  
Antiguo 01/10/2006, 14:49
 
Fecha de Ingreso: diciembre-2003
Mensajes: 1.583
Antigüedad: 20 años, 4 meses
Puntos: 13
Claro, para expandirlos ningún problema. Pero para seleccionar la opción del listado que quieres tienes dos caminos (siempre usando el teclado):

1. Recorrer la lista con la tecla FLECHA. El problema es que basta que uses 1 sola vez la flecha para que se ejecute el evento onchange que activa este tipo de menúes.

2. Como no puedes recorrer la lista de opciones con la flecha, puedes usar la tecla que corresponde a la primera letra de la opción que quieres seleccionar (por ejemplo si la opción es "Casas" usas la tecla C). El problema es que si hay más opciones que comiencen con esa letra se va a seleccionar la primera y ejecutará el menú automáticamente.
  #8 (permalink)  
Antiguo 01/10/2006, 15:00
 
Fecha de Ingreso: abril-2002
Mensajes: 1.014
Antigüedad: 22 años
Puntos: 8
Efectivamente el problema que dices surge, pero sólo cuando SIN ESTAR EXPANDIDO mueves los cursores o pulsas una letra que coincide con el primer carácter de alguna opción.

Sin embargo, si cada vez que se va a seleccionar se expande primero la lista con <alt><flecha abajo> no hay problema usando los cursores, y el onchange sólo ocurrirá cuando se pulsa <enter>

Código:
<HTML>
<HEAD>

<script language="javaScript">
function prueba(obj)
{
	alert( obj.value );
}
</script>

</HEAD>

<BODY>

<select onchange="prueba(this)">
	<option value="111">opcion 1</option>
	<option value="222">opcion 2</option>
	<option value="333">opcion 3</option>
</select>

</BODY>
</HTML>

Última edición por MikiBroki; 01/10/2006 a las 15:08
  #9 (permalink)  
Antiguo 01/10/2006, 16:08
 
Fecha de Ingreso: diciembre-2003
Mensajes: 1.583
Antigüedad: 20 años, 4 meses
Puntos: 13
Tienes razón, pero ocurre algo curioso con tu ejemplo:

- En Ópera e Iternet Exploter ocurre exactamente como mencionas. cuando está expandido se pueden usar las flechas sin ningún problema.

- En Firefox (y en general los browsers basados en Gecko) puedo usar las flechas con el menú expandido o cerrado. El evento onchange sólo se está ejecutando si uso ENETER o hago click con el mouse (?)
  #10 (permalink)  
Antiguo 01/10/2006, 16:47
 
Fecha de Ingreso: abril-2002
Mensajes: 1.014
Antigüedad: 22 años
Puntos: 8
Pues sí, me acabo de dar cuenta de eso, ya estamos con las puñetitas de los navegadores :(

Pero vamos, sería cuestión de capturar el evento y forzar un onchange en caso de que se pulse cursor arriba/abajo
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 15:17.