2010-06-01 8 views
152

Tengo un elemento <select> en HTML. Este elemento representa una lista desplegable. Estoy tratando de entender cómo iterar a través de las opciones en el elemento <select> a través de JQuery.Iterar a través de <select> opciones

¿Cómo uso JQuery para mostrar el valor y el texto de cada opción en un elemento <select>? Solo quiero mostrarlos en un cuadro alert().

Respuesta

70

Esto funcionó para mí

$(function() { 
    $("#select option").each(function(i){ 
     alert($(this).text() + " : " + $(this).val()); 
    }); 
}); 
+4

If almacenaste '$ (this)' en una variable sería más eficiente, es decir 'var $ this = $ (this); $ this.text(); $ this.val(); ... etc.' – Liam

15

También puede usar con parámetros cada uno con índice y el elemento.

$('#selectIntegrationConf').find('option').each(function(index,element){ 
console.log(index); 
console.log(element.value); 
console.log(element.text); 
}); 

// esto también trabajará

$('#selectIntegrationConf option').each(function(index,element){ 
console.log(index); 
console.log(element.value); 
console.log(element.text); 
}); 
5

Y el requisito, de manera no jQuery, para los seguidores, ya que Google parece enviar a todos aquí:

var select = document.getElementById("select_id"); 
    for (var i = 0; i < select.length; i++){ 
    var option = select.options[i]; 
    // now have option.text, option.value 
    } 
0

también no jQuery

[...select].forEach(el => { 
    // code 
}); 
Cuestiones relacionadas