Estoy tratando de recuperar y establecer el valor seleccionado de un elemento seleccionado (lista desplegable) con jQuery.
para retrievel he intentado $("#myId").find(':selected').val()
, así como$("#myId").val()
pero ambos regresan indefinidos.
Cualquier idea sobre este problema sería muy apreciada.
Respuestas:
La forma en que lo tienes es correcta en este momento. O el id de select no es lo que dices o tienes algunos problemas en el dom.
Verifique el Id del elemento y también verifique que su marcado valide aquí en W3c.
Sin una dom jQuery válida no puede funcionar correctamente con los selectores.
Si las identificaciones son correctas y su dom valida, se aplica lo siguiente:
Para leer Seleccione el valor de la opción
Para establecer el valor de la opción de selección
Para leer el texto seleccionado
fuente
para obtener / establecer la propiedad real SelectedIndex del elemento select use:
fuente
.attr()
y.prop()
no son sinónimos. Funcionará en ciertos casos donde un atributo también es una propiedad, por ejemplo,.attr('id')
es igual a.prop('id')
. En este caso,.prop('selectedIndex')
es igual a.get(0).selectedIndex
.$('#myId').val()
debería hacerlo, si no lo intentara:fuente
Al configurar con
JQM
, no olvide actualizarUI
:fuente
$("#myId").val()
debería funcionar simyid
es el id del elemento select!Esto establecería el elemento seleccionado:
$("#myId").val('VALUE');
fuente
Supongamos que ha creado una lista desplegable con la etiqueta SELECT de la siguiente manera,
Ahora, si desea ver cuál es el valor seleccionado del menú desplegable utilizando JQuery, simplemente coloque la siguiente línea para recuperar ese valor.
Funcionará bien.
fuente
Sé que esto es viejo, pero tuve un momento difícil con Razor, no pude hacerlo funcionar sin importar cuánto lo intenté. Seguí volviendo como "indefinido" sin importar si usé "texto" o "html" para el atributo. Finalmente agregué el atributo "data-value" a la opción y lo leyó bien.
fuente
$ ("opción #myId: seleccionado") .text (); le dará el texto que seleccionó en el elemento desplegable. de cualquier manera puede cambiarlo a .val (); para obtener el valor de ello. verifique la codificación a continuación
fuente
Prueba esto
fuente