OVH Cloud OVH Cloud

Selection d'une option par valeur en javascript.

2 réponses
Avatar
jerome.eteve
Bonjour a tous.

Je me demande comment selectionner une option dans un select en
javascript.

J'ai une structure de select:

<select name="foo" id="foo">
<option value="tata">blablabla</option>
<option value="titi">blibliblibli</option>
</select>

J'ai une valeur de l'option a selectionner : 'tata'

J'ai l'object select:

var s = document.getElementById('foo');

Et la je suis bloque.. Je me dis que si l'utilisateur est capable de
selectionner une option, il n'y a pas de raison de ne pas pouvoir le
faire en javascript non ?

Merci pour vos lumieres.

Un debutant javascript :)

J.

2 réponses

Avatar
jerome.eteve
wrote:

J'ai une structure de select:

<select name="foo" id="foo">
<option value="tata">blablabla</option>
<option value="titi">blibliblibli</option>
</select>

J'ai une valeur de l'option a selectionner : 'tata'

J'ai l'object select:

var s = document.getElementById('foo');



Une solution plutot pas tres propre:

for( i=0 ; i < s.length ; i++){
if ( s.options[i].value == 'tata' ){
s.options[i].selected = true ;
}
}

Avatar
ASM
Bonjour a tous.

Je me demande comment selectionner une option dans un select en
javascript.

J'ai une structure de select:

<select name="foo" id="foo">
<option value="tata">blablabla</option>
<option value="titi">blibliblibli</option>
</select>

J'ai une valeur de l'option a selectionner : 'tata'

J'ai l'object select:

var s = document.getElementById('foo');


récup de l'option sélectionnée
monOption = s[s.selectedIndex].value;
textOption = s[s.selectedIndex].text;

mais j'eusse préféré :
s = document.forms['monForm'].elements['foo'];
si le form avait pour name : 'monForm'

pour sélectionner 'tata/blablabla' :
onclick="s.selectedIndex = 0;"

pour retrouver l'index correspondant à une valeur
oui, hop! une boucle

function indexOptions(opt,val) {
for(var i=0;i<opt.length;i++)
if(opt[i].value==val) return i;
}

onclick="s.selectedIndex = indexOptions(s,'tata');"

--
Stephane Moriaux et son [moins] vieux Mac