¿Cómo seleccionaría mi elemento de lista desplegable por texto en lugar de valor?jQuery: cómo seleccionar un elemento de la lista desplegable por texto?
Quiero seleccionar un elemento desplegable por texto con jQuery.
¿Cómo seleccionaría mi elemento de lista desplegable por texto en lugar de valor?jQuery: cómo seleccionar un elemento de la lista desplegable por texto?
Quiero seleccionar un elemento desplegable por texto con jQuery.
Hay una filter function on jQuery que se puede utilizar para obtener elementos con algo más específico
$("select option").filter(function() {
return $(this).text() == "text_to_select";
});
Esto va a devolver todas las opciones con el "text_to_select" en el texto.
Esta debe ser la respuesta aceptada. Usar "contiene" podría coincidir con varios valores, lo que podría ser peligroso. –
creo que esto va a hacer el truco para usted ...
$("#selectId").find("option:contains('text')").each(function(){
if($(this).text() == 'Text that should be matched') {
$(this).attr("selected","selected");
}
});
Aquí está el código que uso (que no es exactamente lo mismo que el otras sugerencias aquí, y funciona con jQuery v1.8.3)
var userToSearchFor = 'mike'; // Select any options containing this text
$("#ListOfUsers").find("option:contains('" + userToSearchFor +"')").each(function() {
$(this).attr("selected", "selected");
});
<select id="ListOfUsers" ></select>
Espero que esto ayude.
Tuve un escenario similar con listas desplegables para el país, el estado y la ciudad. El país tenía "India", así como "Territorio Británico del Océano Índico". El problema con :contains()
es que intenta en ambas coincidencias. Hice algo como:
$('#country option').each(function(){
if($(this).text() == 'India'){
$(this).prop('selected', true).trigger('change');
}
});
$("selecter option:contains('" + data[i].ID+ "')").attr('selected', 'selected');
Si necesita hacer una variable: var text = "Item 1"; $ ("opción de selección: contiene (" + texto + ")"). Attr ('seleccionado', verdadero); – ROFLwTIME
Esto funciona bien a menos que tenga artículos similares. Por ejemplo, si busca "elemento" y las opciones son "elemento 1", "elemento 2", etc., obtendrá más de un resultado – PostureOfLearning
con las versiones más recientes de jquery (1.6.1+?), Use prop. ('selected', true) en lugar de attr ('selected', true) – dlo