Come seleziono il mio elenco a discesa per articolo anziché per valore?jQuery - Come selezionare la voce dell'elenco a discesa per testo?
Desidero selezionare un elemento a discesa per testo con jQuery.
Come seleziono il mio elenco a discesa per articolo anziché per valore?jQuery - Come selezionare la voce dell'elenco a discesa per testo?
Desidero selezionare un elemento a discesa per testo con jQuery.
C'è una filter function on jQuery che è possibile utilizzare per ottenere elementi con qualcosa di più specifico
$("select option").filter(function() {
return $(this).text() == "text_to_select";
});
Questo sta per tornare tutte le opzioni con il "text_to_select" nel testo.
Questa dovrebbe essere la risposta accettata. L'utilizzo di "contiene" potrebbe corrispondere a diversi valori, che potrebbero essere pericolosi. –
penso che questo farà il trucco per voi ...
$("#selectId").find("option:contains('text')").each(function(){
if($(this).text() == 'Text that should be matched') {
$(this).attr("selected","selected");
}
});
Ecco il codice che uso (non è proprio la stessa cosa come il altri suggerimenti qui e funziona 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>
Spero che questo aiuti.
Ho avuto uno scenario simile con elenchi a discesa per paese, stato e città. Il Paese aveva "India" e "Territorio britannico dell'Oceano Indiano". Il problema con :contains()
è che tenta su entrambe le corrispondenze. Ho fatto qualcosa di simile:
$('#country option').each(function(){
if($(this).text() == 'India'){
$(this).prop('selected', true).trigger('change');
}
});
$("selecter option:contains('" + data[i].ID+ "')").attr('selected', 'selected');
Se è necessario eseguire una variabile: var text = "Elemento 1"; $ ("seleziona opzione: contiene (" + testo + ")"). Attr ('selezionato', vero); – ROFLwTIME
Funziona bene a meno che tu non abbia oggetti simili. Ad esempio, se si cerca "item" e le opzioni sono "item 1", "item 2", ecc. Allora si otterrà più di un risultato – PostureOfLearning
con le versioni più recenti di jquery (1.6.1+?), Usare il puntello ('selezionato', vero) invece di attr ('selezionato', vero) – dlo