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";
});