Non conosco pero' a priori il value, ma solo una parte del text dell'opzione.
Vediamo la soluzione adottata.
i parametri da passare sono:
- l'id del select
- il testo contenuto
In pratica la select contiene opzioni del tipo "bianco_ffffff", io voglio poterlo selezionare passando solo il codice colore "ffffff"
function SelectValueByTextContained(selId, val) {
var sel = document.getElementById(selId);
for(var i = 0, j = sel.options.length; i < j; ++i) { // scorriamo tutte le opzioni
if (sel.options[i].innerHTML.indexOf(val)>=0) { // vediamo se il testo passato e' contenuto
sel.selectedIndex = i; //in tal caso selezioniamo l'opzione e usciamo dal ciclo
break;
}
}
}
Nel caso avessimo piu' opzioni ke contengono il testo viene selezionata solo la prima.
Se avessimo voluto fare un confronto di uguaglianza avremmo dovuto usare
if(sel.options[i].innerHTML === val) {
Nessun commento:
Posta un commento