[javascript] jQuery recibe texto de etiqueta de opción específico


Answers

Si desea obtener la opción con un valor de 2, use

$("#list option[value='2']").text();

Si desea obtener la opción que esté seleccionada actualmente, use

$("#list option:selected").text();
Question

Muy bien, di 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 está preguntando cómo obtener el valor de texto seleccionado , sino solo uno cualquiera, ya sea seleccionado o no, dependiendo del atributo de valor. Lo intenté:

$("#list[value='2']").text();

Pero no está funcionando.




Basado en el HTML original publicado por Paolo, se me ocurrió lo siguiente.

$("#list").change(function() {
    alert($(this).find("option:selected").text()+' clicked!');
});

Se ha probado que funciona en Internet Explorer y Firefox.




Utilizar:

function selected_state(){
    jQuery("#list option").each(function(){
        if(jQuery(this).val() == "2"){
            jQuery(this).attr("selected","selected");
            return false;
        }
    });
}

jQuery(document).ready(function(){
    selected_state();
});



Necesitaba esta respuesta ya que estaba tratando con un objeto moldeado dinámicamente, y los otros métodos aquí no parecían funcionar:

element.options[element.selectedIndex].text

Esto, por supuesto, utiliza el objeto DOM lugar de analizar su HTML con nodeValue, childNodes, etc.




$(this).children(":selected").text()



Esta es una pregunta antigua que no se ha actualizado en algún momento, la forma correcta de hacerlo ahora sería usar

$("#action").on('change',function() {
    alert($(this).find("option:selected").text()+' clicked!');
});

Espero que esto ayude :-)




$("#list option:selected").each(function() {
   alert($(this).text());
});  

para el valor seleccionado múltiple en el elemento #list .




Como solución alternativa, también puede usar una parte de contexto del selector jQuery para buscar <option> element (s) with value="2" dentro de la lista desplegable:

$("option[value='2']", "#list").text();



Puede obtener texto de opción seleccionado usando la función .text();

puedes llamar a la función de esta manera:

jQuery("select option:selected").text();





Links