2012-01-23 12 views
65

Tengo un menú desplegable que tiene un par 'ID, nombre'.Obtenga el valor de un menú desplegable en jQuery

Ejemplo

Jon Miller
Jim Smith
Jen Morsin

Jon Miller tiene ID de 101
Jim Smith tiene ID de 102
Jen Morsin tiene ID de 103

Cuando Hago lo siguiente:

var arNames = $('#Crd').val() 

y selecciono a Jon Miller, obtengo 101. Sin embargo, me gustaría contratar a Jon Miller.

+0

Salida http://stackoverflow.com/questions/1643227/jquery-get-selected-text-from-dropdownlist – Franz

Respuesta

133

$('#Crd').val() le dará el valor seleccionado del elemento desplegable. Use esto para obtener el texto de las opciones seleccionadas.

$('#Crd option:selected').text(); 
+1

$ ('DRC opción #: seleccionado'). Texto() o $ ('# opción de Crd: seleccionado'). val(), .text le da el valor del texto mostrado, no el valor –

4

Si estás utilizando un <select>, .val() obtiene el 'valor' de la <option> seleccionado. Si no tiene un value, puede recurrir al id. Ponga el valor que desea que vuelva en el atributo de cada value Edición <option>

: Ver los comentarios de aclaración sobre lo que en realidad es value (no necesariamente igual al atributo value).

+1

Sólo una aclaración, .val() devuelve la propiedad de * live value * no el Valor del atributo HTML. – Chad

+0

Correcto. Sin embargo, no hay diferencia práctica en este caso, ya que OP parece no querer cambiar el 'valor's en ningún punto. –

+2

'.val() obtiene el atributo 'valor' del

0

Como se ha señalado ... en un cuadro select, el atributo .val() le dará el valor de la opción seleccionada. Si la opción seleccionada no tiene un valor de atributo tomará por omisión el valor de la pantalla de la opción (que es lo que los ejemplos en la jQuery documentation of .val espectáculo

desea utilizar .text() de la opción seleccionada:.

$('#Crd option:selected').text()

7

la mejor manera es utilizar:

$("#yourid option:selected").text(); 

Dependiendo de las necesidades, también se puede utilizar de esta manera:

var v = $("#yourid").val(); 
$("#yourid option[value="+v+"]").text() 
0

Esto le proporciona el valor actual de la lista desplegable, si la lista desplegable tiene una ID de "someId".

$("#someId").val(); 
3
var sal = $('.selectSal option:selected').eq(0).val(); 

selectSal es una clase.

1

Prueba esto:

var text = $('#YourDropdownId').find('option:selected').text(); 
0

Otra opción:

$("#<%=dropDownId.ClientID%>").children("option:selected").val(); 
2

Esto ha funcionado para mí!

$('#selected-option option:selected').val() 

Espero que esto ayude a alguien!

-1

$('.leave_response').on('change', function() { 
 
    var responseId = $(this).val(); 
 
    console.log(responseId); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<td> 
 
    <select class="leave_response" name="leave"> 
 
     <option>1</option> 
 
     <option>2</option> 
 
     <option>3</option> 
 
     <option>4</option> 
 
    </select> 
 
</td>

Cuestiones relacionadas