Obtenga el valor de un menú desplegable en jQuery


100

Tengo un menú desplegable que tiene un par 'ID, nombre'.

Ejemplo

Jon Miller
Jim Smith
Jen Morsin

Jon MIller tiene una ID de 101
Jim Smith tiene una ID de 102
Jen Morsin tiene una ID de 103

Cuando hago lo siguiente:

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

y selecciono a Jon Miller, obtengo 101. Aunque me gustaría tener a Jon Miller.


Respuestas:


185

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

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

3
$ ('# Opción Crd: seleccionada'). Text () o $ ('# Opción Crd: seleccionada'). Val (), .text le da el valor del texto mostrado, no el valor
patrick choi

$ ('# Opción Crd: seleccionada'). Val (); por valor
asifaftab87

13

La mejor forma es utilizar:

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

Dependiendo del requisito, también puede usar de esta manera:

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

5

Si está utilizando <select>, .val()obtiene el 'valor' del seleccionado <option>. Si no tiene un value, puede recurrir al id. Ponga el valor que desea que devuelva en el valueatributo de cada<option>

Editar: consulte los comentarios para obtener una aclaración sobre lo que valuerealmente es (no necesariamente igual al valueatributo).


1
Solo una aclaración, .val () devuelve la propiedad de valor real, no el valor del atributo HTML.
Chad

Correcto. Sin embargo, no hay ninguna diferencia práctica en este caso, ya que el OP no parece querer cambiar la values en ningún momento.
Ansel Santosa

2
.val() gets the 'value' attribute of the selected <option>, como dije: solo aclarando.
Chad

¿Qué pasa si necesito el índice o la identificación en lugar del texto?
bgmCoder

5

¡Esto me ha funcionado!

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

¡Espero que esto ayude a alguien!





0

Como se ha señalado ... en un selectrecuadro, el .val()atributo te dará el valor de la opción seleccionada. Si la opción seleccionada no tiene un atributo de valor, se utilizará de forma predeterminada el valor de visualización de la opción (que es lo que muestran los ejemplos en la documentación de jQuery de.val show.

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

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


0

Esto le da el valor actual del menú desplegable, si el menú desplegable tiene un ID de "someId".

$("#someId").val();

0

$('.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>


0

Pase el id y manténgalo en una variable y pase la variable donde quiera.

var temp = $ ('seleccionar [nombre = ID Nombre]'). val ();


$ ('seleccionar [nombre = ID Nombre] opción: seleccionado'). val (); Este también funciona
Abhijit Patra
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.