2012-05-02 31 views
12

Duplicar posible:
jQuery get specific option tag text
How to get the text of the selected option of a select using jquery?¿Cómo obtener el texto del valor seleccionado de una lista desplegable?

Tengo una lista desplegable y quiero saber el texto del elemento seleccionado. Por ejemplo:

<select> 
    <option value="1">Volvo</option> 
    <option value="2">Saab</option> 
    <option value="3">Mercedes</option> 
</select> 

Si conozco el valor seleccionado, ¿cómo puedo obtener su valor de texto? Por ejemplo, si el valor es 1, ¿cómo puedo obtener Volvo?

Ayuda muy apreciada.

Respuesta

29

Puede utilizar option:selected para obtener la opción elegida del elemento select, entonces el text() método:

$("select option:selected").text(); 

He aquí un ejemplo:

console.log($("select option:selected").text());
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> 
 
<select> 
 
    <option value="1">Volvo</option> 
 
    <option value="2" selected="selected">Saab</option> 
 
    <option value="3">Mercedes</option> 
 
</select>

+0

A continuación, puede añadir enlaces a cada función jQuery en el docs ... De todos modos no me gusta la forma en que se hace en su edición. Puede ser más simple con '$ (" seleccionar) .val() '. Como ya he dicho, depende de ti., Y +1 por cierto. – gdoron

+0

ok codifiqué' alert ($ ("# preetname -" + rname + "option : seleccionado "). text());' pero tiene un error. ¿Alguna idea de por qué no funciona?? – guitarlass

+0

¿Cuál es el error, y qué valor tiene 'rname'? –

14
$("#select_id").find("option:selected").text(); 

Es útil si su control está en el lado del servidor. En .NET que parece:

$('#<%= dropdownID.ClientID %>').find("option:selected").text(); 
1

La forma más sencilla es a través de CSS3 $("select option:selected") y luego utilizar la función .text() o .html(). dependiendo de lo que quieras tener.

+2

CSS3? ¿De dónde viene eso? –

+0

De hecho,': selected' no es CSS3, es una de las mejoras del selector jQuery. –

+1

_ "Because': selected 'es una extensión jQuery y no parte de la especificación CSS, las consultas que usan': selected' no pueden ... ... "_ [fuente] (http://api.jquery.com/selected-selector/) – gdoron

0

Hola si tiene lista desplegable como este

<select id="testID"> 
<option value="1">Value1</option> 
<option value="2">Value2</option> 
<option value="3">Value3</option> 
<option value="4">Value4</option> 
<option value="5">Value5</option> 
<option value="6">Value6</option> 
</select> 
<input type="button" value="Get dropdown selected Value" onclick="getHTML();"> 

después de dar id para DROPDOWNLIST sólo tiene que añadir el código de jQuery como esto

function getHTML() 
{ 
     var display=$('#testID option:selected').html(); 
     alert(display); 
} 
Cuestiones relacionadas