Foros del Web » Programando para Internet » Javascript »

Recoger valor (cadena) de un combo

Estas en el tema de Recoger valor (cadena) de un combo en el foro de Javascript en Foros del Web. Muy buenas; Tengo un combo en el que los valores que pasa no son iguales a las cadenas que muestra. Por ejemplo Código: <select name="cboAgencia"> ...
  #1 (permalink)  
Antiguo 30/09/2003, 03:27
Avatar de txarly  
Fecha de Ingreso: marzo-2003
Ubicación: Eibar (Gipuzkoa)
Mensajes: 455
Antigüedad: 21 años, 1 mes
Puntos: 2
Recoger valor (cadena) de un combo

Muy buenas;
Tengo un combo en el que los valores que pasa no son iguales a las cadenas que muestra. Por ejemplo

Código:
<select name="cboAgencia">
<option value=1>cadena1</option>
<option value=2>cadena2</option>
</select>
Se que para recoger los "values" del combo tengo que hacer desde javascript:

document.forms["frmCampos"].cboAgencia.value;

... pero que tendría que hacer para obtener el valor de la cadena seleccionada que muestro en el combo ???

Gracias y un saludo.
Txarly
__________________
¿Por qué Uri Geller doblaba cucharas?
  #2 (permalink)  
Antiguo 01/10/2003, 01:26
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Hola, txarly.

Creo que la FAQ-97 puede servirte.

Saludos,
  #3 (permalink)  
Antiguo 01/10/2003, 02:07
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 txarly y JavierB :

Simplificando la respuesta, podrías leer el array de options del select, la opción apuntada por selectedIndex, rescatando el campo text:

document.forms["frmCampos"].cboAgencia.options[document.forms["frmCampos"].cboAgencia.selectedIndex].text;

Pruébalo y di si te va bien (Lo puse de memoria, pero tendría que funcionar).

Saludos
  #4 (permalink)  
Antiguo 01/10/2003, 02:16
Avatar de txarly  
Fecha de Ingreso: marzo-2003
Ubicación: Eibar (Gipuzkoa)
Mensajes: 455
Antigüedad: 21 años, 1 mes
Puntos: 2
Hola JavierB;
Ya miré la FAQ, pero creo que lo de obtener la selección no es aplicable al select y si al resto de controles, al menos en el ejemplo funciona con todos menos con el select.

Al final lo que hice para resolverlo fue:
- poner en el value del option el id y la cadena separados por un caracter delimitador, por ejemplo |

<option value="1|cadena1">cadena1</option>

luego de la misma forma obtengo lo que hay en el value, creo un array de dos valores haciendo un split de la cadena ya está.

Código:
var strcadena= document.forms["frmCampos"].cboAgencia.value;
arrayAgencia = strcadena.split("|");
var intAgencia = arrayAgencia[0];
var strAgencia = arrayAgencia[1];
Un saludo.
Txarly

PD: caricatos, acabo de ver tu mensaje, lo probaré.
__________________
¿Por qué Uri Geller doblaba cucharas?
  #5 (permalink)  
Antiguo 01/10/2003, 02:20
Avatar de txarly  
Fecha de Ingreso: marzo-2003
Ubicación: Eibar (Gipuzkoa)
Mensajes: 455
Antigüedad: 21 años, 1 mes
Puntos: 2
Perfecto caricatos.
Me has arreglado la chapuzilla
__________________
¿Por qué Uri Geller doblaba cucharas?
  #6 (permalink)  
Antiguo 01/10/2003, 11:13
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Hola, txarly y caricatos.

¡Oops! He leido mal la FAQ que puse ¿o puedo echar la culpa a la conexión de internés?

Saludos,
  #7 (permalink)  
Antiguo 01/10/2003, 12:01
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284


¡Estupendo!...

¡Le pondré otra muesca a mi winchester... !

JavierB: Las veces que hemos coincidido en temas sobre select... (Acabo de entrar en el "generador", y ya teníamos los select con fondos de colores... )

Estos últimos días yo también me las he visto para entrar en la red.

Saludos
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:58.