Obtener valores y texto de un select con Javascript

Obtener valores y texto de un select con Javascript

En ocasiones en nuestros proyectos web realizados con HTML, ASP o PHP requerimos obtener con JavaScript los datos de un control de formulario select también conocido por algunas personas como Control ComboBox o DropDownList; todo dependiendo del lenguaje o arquitectura de programación que estemos usando.

Pero bien, encontrar el valor de un select es realmente sencillo, pero se complica un poco cuando necesitamos capturar también el texto, es decir, la etiqueta que el visitante o usuario visualiza al momento de desplegar las opciones del control; para ello seguiremos los siguientes pasos:

Talvez te interese: Obtener valores y texto de un select con jquery y descargar archivos según selección

Hosting Web Diseño Web SEO

Estructura HTML

Primeramente, agregamos a nuestro documento HTML el control de servidor select, como se muestra a continuación:

1
2
3
4
5
 
<select id="producto" name="producto" onchange="ShowSelected();">
<option value="12">Texto One</option>
<option value="13">Texto Two</option>
</select>

Código Javascript

Luego, tendremos que escribir nuestra función utilizando para ello lenguaje Javascript.

5
6
7
8
9
10
11
12
13
14
15
16
17
<script type="text/javascript">
function ShowSelected()
{
/* Para obtener el valor */
var cod = document.getElementById("producto").value;
alert(cod);
 
/* Para obtener el texto */
var combo = document.getElementById("producto");
var selected = combo.options[combo.selectedIndex].text;
alert(selected);
}
</script>

Lo que hacemos para obtener el texto del control de formularios select es acceder a las etiquetas option las cuales son elementos HTML por si solas. Para ello instanciamos el select y posteriormente encontramos el nodo option seleccionado para obtener el atributo text desde javascript.

Suscribir
Notificar a
guest
89 Comentarios
Comentarios en línea
Ver todos los comentarios
Andres Bonfil

Jajaja gracias salvaste mi proyecto 😀 saludos desde puebla.

Carlos Bolaños

hola!! muy bueno sus conocimientos como haría para que el valor que retorna por alert, me retorne a otra vista?
estoy aplicando para seleccionar la talla de una prenda pero quisiera mostrarla en otra vista pero ya no como una alerta sino dentro de una etiqueta html, de ante mano gracias por cierto el desarrollo lo llevo en laravel. tus conocimientos son de mucha ayuda

julian mahecha

hola una pregunta, con este codigo me funciona de maravilla , pero como puede hacer que en el elemento html me registre o me muestra todas las respuestas, es decir en este ejemplo hay dos opciones se elige una y esta se muestras en un div, pero al elegir una nueva opcion desaparece la anterior y lo que busco es que me queden todas las seleccionadas

Renan Medina

Muchas gracias por el aporte, quería saber si hay una manera de realizar algo parecido pero con radio button, ejemplo;
<input type=»radio» name=»rdoEjemplo» id=»valor1″ value=»A»>
<label for=»valor1″>Primer Ejemplo de texto</label>

<input type=»radio» name=»rdoEjemplo» id=»valor2″ type=»radio» value=»B»>
<label for=»valor2″>Segundo Ejemplo de texto</label>

<input type=»radio» name=»rdoEjemplo» id=»valor3″ type=»radio» value=»B»>
<label for=»valor3″>Tercer Ejemplo de texto</label>

En este caso quiero que me retorne el texto del <label> que tiene relacion con el «ID» del input y no el «value», para no comprar uno por uno.
De antemano gracias.

Anita

Graciaaas, me ayudaste un montón

Cristian Coene

Muchísimas Gracias!!! No sabes la mano que me diste. Qué clara la explicación!!! Aplausos

SAHC

GRACIAS

Edwin yesid Ariza Sarmiento

Sos un crack!!!!!!!!!!!!!!!

kenny arevalo

Hola buenos dias,como haria para obtener ese valor en un servlets ?

Rafael Mauricio Villalta Vargas

Hola, estoy intentando obtener un valor de un select pero usando la opción .find sin embargo se me vienen todos los valores.
El select está dentro de un TD de una tabla

var usuario = $(this).find(‘td’).eq(1).text();

ggg

Hola como se aplicaría para un select?

Luca

Hola buenas, necesito enviar la opcion seleccionada a una base de datos en mysqli. Como podría hacer para que se envie el text y no el value? Actualmente lo envio mediante un formulario post. Muchas gracias.

Luca

Muchas gracias por su respuesta! Un saludo.

mary

y eso en codigo como seria?

Ricardo Alba

Hola. Tengo un select lleno con algunos datos, y necesito seleccionar uno en particular desde javascript. ¿cómo se haría eso?

Pablo

Muchas Gracias Amigo.. Un Abrazo…

Gabriela Mia Gonzales

hola tengo una pregunta como puedo hacer para enviar un texto desde un combo a un fieldbox pero haciendo click en un button
tengo un ejemplo no se si estaré en lo correcto

function agregarTexto{ //button
var items=$("input[name='ID_Ejec_Texto']"); //hace una llama al ID
var combo =$("ID_Ejec_Texto");
var agrearTexto = combo.options[combo.selectIndex].click;
}

igual tengo algunas dudas aun creo que necesito algo mas para que funcione pero no se que 😀

Nahum

Gracias hermano, estamos haciendo el proyecto un dia antes y nos salvaste. te amo. besos en la cola

Ramon

excelente

Piero

Lo probé y me funcionó con el género.
Consulta, en un radiobutton cómo haría para seleccionar el género, ya que tengo problemas y no me guarda en la base de datos, al inspeccionar veo que no me lectura el valor.

Joan Florido

Buenas, quisiera saber como hacer un multi selector sin necesidad de librerías.
Alguien me podría ayudar?

Alan Francisco

Hola buenas tardes teengo una duda
Como puedo lograr enviar el resultado de un label (Por ejemplo que el label tenga la palabra Fruta) y cuando le de click a un boton que esa palabra se plasme en un combobox. estoy usando jquery

Denilson

Hola, como se haria en mvc.net con un DropDownListFor?.
@Html.DropDownListFor(model => model.Partida, (IEnumerable<SelectListItem>)ViewBag.Partidas, Multilenguaje.LblSeleccionar,
          new
          {
            @class = «form-control»
          })

dario caceres

excelente y facil aprender con sus ayudas, muy puntuales. Gracias

jose

Eres un máquina crack;

Gustavo

la variable que se declara en javascript (var selected) donde se esta almacenando el valor del combobox como puedo guardarlo en otra variable de PHP.