¿Cómo configuro el índice de un menú desplegable en jQuery si la forma en que encuentro el control es la siguiente:
$("*[id$='" + originalId + "']")
Lo hago de esta manera porque estoy creando controles dinámicamente y dado que los identificadores se cambian cuando uso formularios web, encontré esto como una solución para encontrarme algunos controles. Pero una vez que tengo el objeto jQuery, no sé cómo establecer el índice seleccionado en 0 (cero).
#an-id
es más rápido, pero*[id$=ends-with]
es mucho más lento, eso es lo que significa "asignar una clase al elemento"Acabo de encontrar esto, funciona para mí y personalmente me resulta más fácil de leer.
Esto establecerá el índice real al igual que la opción número 3 de la respuesta de gnarf.
Esto no solía funcionar, pero ahora sí ... ver error: http://dev.jquery.com/ticket/1474
Apéndice
Como se recomienda en los comentarios, use:
$("select#elem").prop('selectedIndex', 0);
fuente
.prop('selectedIndex', 0);
independientemente de si.attr()
funciona o no :)Escribo esta respuesta en 2015, y por alguna razón (probablemente versiones anteriores de jQuery) ninguna de las otras respuestas me ha funcionado. Quiero decir, cambian el índice seleccionado, pero en realidad no se refleja en el menú desplegable real.
Aquí hay otra forma de cambiar el índice y hacer que se refleje en el menú desplegable:
fuente
prop('selectedIndex', ...);
(probado con Chrome y Firefox) cambiar la selección.change
evento en el menú desplegable, que también podría ser una solución / solución útil para las personas que están cambiando la selección llamandoprop('selectedIndex', ...)
, en lugar de hacerloval(...)
. Quizás el problema fue que estás escuchando unchange
evento, ¿y ESO es lo que no te funcionó? Es cierto que simplemente cambiar elprop
erty no disparará ningún evento ...Estoy usando
para seleccionar el elemento de opción que tiene valor = 'xyz'
fuente
Código JQuery:
Código Jsp:
fuente
Desea obtener el valor de la primera opción en el elemento de selección.
fuente
Para seleccionar la segunda opción
Aquí agregamos el 'disparador (' cambio ') para que el evento se active.
fuente
lo configurará a 0
fuente
Seleccione cuarta opción
ejemplo en jsfiddle
fuente