vertical texto opciones lista desplegable cuadro años javascript jquery dom

javascript - opciones - ¿Cómo selecciono un elemento por su valor de texto en un menú desplegable usando jQuery?



menu desplegable html (4)

Si tuviera la siguiente selección, y no supiera el valor que debo usar para seleccionar un ítem por adelantado como en esta pregunta o el índice del ítem que quería seleccionar, ¿cómo podría seleccionar una de las opciones con jQuery si conociera el ítem? valor de texto como la opción C?

<select id=''list''> <option value=''45''>Option A</option> <option value=''23''>Option B</option> <option value=''17''>Option C</option> </select>


Esto debería funcionar:

// option text to search for var optText = "Option B"; // find option value that corresponds var optVal = $("#list option:contains(''"+optText+"'')").attr(''value''); // select the option value $("#list").val( optVal )

Como señala eyelidlessness, esto se comportará imprevisiblemente cuando el texto que se busca se puede encontrar en más de una opción.


var option; $(''#list option'').each(function() { if($(this).text() == ''Option C'') { option = this; return false; } });


function SelectItemInDropDownList(itemToFind){ var option; $(''#list option'').each(function(){ if($(this).text() == itemToFind) { option = this; option.selected = true; return false; } }); }

Solo modifiqué el código anterior porque solo ubicó la opción en la lista de selección, algunos pueden querer una demostración literal.


$("#list option").each(function() { this.selected = $(this).text() == "Option C"; });