Muy bien, digamos que tengo esto:
<select id='list'>
<option value='1'>Option A</option>
<option value='2'>Option B</option>
<option value='3'>Option C</option>
</select>
¿Cómo se vería el selector si quisiera obtener la "Opción B" cuando tengo el valor '2'?
Tenga en cuenta que esto no es preguntar cómo obtener el valor de texto seleccionado , sino cualquiera de ellos, ya sea seleccionado o no, dependiendo del atributo de valor. Lo intenté:
$("#list[value='2']").text();
Pero no está funcionando.
javascript
jquery
drop-down-menu
jquery-selectors
Paolo Bergantino
fuente
fuente
$("#list option").filter(function () { return $(this).html() == "stuff"; }).val();
Respuestas:
Está buscando un elemento con id
list
que tenga una propiedadvalue
igual a2
.Lo que quieres es
option
hijo delist
:fuente
$('#list option:selected').text()
$('#list').val()
.trim()
después,.text()
ya que algunos navegadores pueden agregar a veces algunos espacios antes y después del texto que son invisibles para el usuario pero que pueden conducir a valores incorrectos$("#list option[value='2']").text().trim()
Si desea obtener la opción con un valor de 2, use
Si desea obtener la opción seleccionada actualmente, use
fuente
Esto funcionó perfectamente para mí, estaba buscando una forma de enviar dos valores diferentes con opciones generadas por MySQL, y lo siguiente es genérico y dinámico:
$(this).find("option:selected").text();
Como se menciona en uno de los comentarios. Con esto pude crear una función dinámica que funciona con todos mis cuadros de selección de los que quiero obtener ambos valores, el valor de la opción y el texto.
Hace unos días noté que al actualizar jQuery del 1.6 al 1.9 del sitio usé este código, esto dejó de funcionar ... probablemente fue un conflicto con otro fragmento de código ... de todos modos, la solución fue eliminar la opción del llamada find ():
Esa fue mi solución ... úsela solo si tiene algún problema después de actualizar su jQuery.
fuente
Basado en el HTML original publicado por Paolo, se me ocurrió lo siguiente.
Ha sido probado para funcionar en Internet Explorer y Firefox.
fuente
para múltiples valores seleccionados en el
#list
elemento.fuente
Si solo hay una etiqueta de selección en la página, puede especificar seleccionar dentro de la ID 'lista'
Para obtener el texto seleccionado
fuente
Intenta lo siguiente:
La razón por la que su fragmento original no funcionaba es porque sus
OPTION
etiquetas son secundarias a suSELECT
etiqueta, que tiene elid
list
.fuente
Esta es una vieja pregunta que no se ha actualizado en algún momento, la forma correcta de hacerlo ahora sería usar
Espero que esto ayude :-)
fuente
Quería obtener la etiqueta seleccionada. Esto funcionó para mí en jQuery 1.5.1.
fuente
fuente
optgroup
etiqueta como hijo tuyoselect
y la opción seleccionada está en estooptgroup
. uso$("#list option:selected").text();
que funciona incluso en este casodeje un espacio después del selector de id.
fuente
Puede obtener el texto de la opción seleccionada utilizando la función
.text();
puedes llamar a la función así:
fuente
Mientras realiza un "bucle" a través de elementos seleccionados creados dinámicamente con un .each (function () ...):
$("option:selected").text();
y$(this + " option:selected").text()
no devolvía el texto de la opción seleccionada, en su lugar, era nulo.Pero la solución de Peter Mortensen funcionó:
No sé por qué la forma habitual no tiene éxito en
.each()
(probablemente mi propio error), pero gracias, Peter. Sé que esa no era la pregunta original, pero la menciono "para los novatos que vienen a través de Google".Hubiera comenzado con,
$('#list option:selected").each()
excepto que también necesitaba tomar cosas del elemento seleccionado.fuente
Utilizar:
fuente
Estaba buscando obtener val por nombre de campo interno en lugar de ID y vine de google a esta publicación que ayuda pero no encontré la solución que necesito, pero obtuve la solución y aquí está:
Por lo tanto, esto podría ayudar a alguien que busca el valor seleccionado con el nombre interno del campo en lugar de usar una identificación larga para las listas de SharePoint:
fuente
Necesitaba esta respuesta ya que estaba tratando con un objeto emitido dinámicamente, y los otros métodos aquí no parecían funcionar:
Por supuesto, esto usa el objeto DOM en lugar de analizar su HTML con nodeValue, childNodes, etc.
fuente
Un consejo: puede usar el siguiente código si su valor es dinámico:
O (mejor estilo)
Como se menciona en jQuery, obtenga un texto de etiqueta de opción específico y coloque la variable dinámica en el valor
fuente
Como solución alternativa, también puede usar una parte de contexto del selector jQuery para encontrar
<option>
elementosvalue="2"
dentro de la lista desplegable:fuente
Quería una versión dinámica para seleccionar múltiples que mostrara lo que está seleccionado a la derecha (desearía haber leído y visto
$(this).find
... anteriormente):fuente
Puede obtener una de las siguientes formas
fuente