Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Valeur par défaut dans la seconde liste de 2 listes liées

2 réponses
Avatar
orus
Bonjour =E0 tous,

Voici mon probl=E8me. J'ai deux listes li=E9es qui pour un r=E9gion (sel1)
affiche les d=E9partements de celle-ce (sel2). La seconde liste est cr=E9e
=E0 l'aide d'une fonction Javascript (gensel2).

Je souhaite par exemple que la r=E9gion "Centre" soit s=E9lectionn=E9e par
d=E9faut, j'ai donc mis "selected" dans la liste sel1 et cela
fonctionne. Le probl=E8me est qu'au premier affichage, les d=E9partements
de la r=E9gion "Centre" ne sont pas affich=E9s (c'est s=FBrement du =E0 la
fonction qui n'est appel=E9e qu'=E0 l'=E9v=E8ne=F9ent onchange()). J'aimerai
d'ailleurs que le d=E9partement "Indre" soit s=E9lectionn=E9. J'ai donc
tent=E9 le "document.frm.sel2.selectedIndex =3D 2;" mais cela ne
fonctionne pas...

Comment puis-je faire ? Pouvez-vous m'aider ?

Voici un exemple de code que j'utilise. Merci par avance pour votre
aide pr=E9cieuse.

Aur=E9lien

---------------------------------------------------------------------------=
----------------------------------------------

<HTML>
<HEAD>
<TITLE>2 Selects d=E9pendants en JavaScript</TITLE>

<script type=3D"text/javascript">
function gensel2(nom_formulaire) {

var s1 =3D document.forms[nom_formulaire].sel1;
var s2 =3D document.forms[nom_formulaire].sel2;
s2.length =3D 0;

for(var n=3D0; n < liste[s1.selectedIndex].length; n++) {
s2.length++;
s2.options[s2.length-1].text =3D liste[s1.selectedIndex][n];
}
}

</script>
</HEAD>

<BODY>
<form name=3D"frm">
<select name=3D"sel1" id=3D"sel1" onChange=3D"gensel2('frm');">
<optgroup label=3D"R=E9gions">
<option>Bretagne</option>
<option selected>Centre</option>
<option>Nord-Pas-de-Calais</option>
</optgroup>
</select>

<select name=3D"sel2" id=3D"sel2">
<optgroup label=3D"D=E9partements"></optgroup>
</select>
</form>

<script type=3D"text/javascript">

var liste =3D new Array(
new Array("C=F4tes-d'Armor","Finist=E8re","Ille-et-
Vilaine","Morbihan"),
new Array("Cher","Eure-et-Loire","Indre","Indre-et-Loire","Loir-
et-Cher","Loiret"),
new Array("Nord","Pas-de-Calais"));

document.frm.sel2.selectedIndex =3D 2;
</script>
</BODY>
</HTML>

2 réponses

Avatar
orus
On 7 juin, 11:36, orus wrote:
Bonjour à tous,

Voici mon problème. J'ai deux listes liées qui pour un région (sel1)
affiche les départements de celle-ce (sel2). La seconde liste est crée
à l'aide d'une fonction Javascript (gensel2).

Je souhaite par exemple que la région "Centre" soit sélectionnée par
défaut, j'ai donc mis "selected" dans la liste sel1 et cela
fonctionne. Le problème est qu'au premier affichage, les départements
de la région "Centre" ne sont pas affichés (c'est sûrement du à la
fonction qui n'est appelée qu'à l'évèneùent onchange()). J'aime rai
d'ailleurs que le département "Indre" soit sélectionné. J'ai donc
tenté le "document.frm.sel2.selectedIndex = 2;" mais cela ne
fonctionne pas...

Comment puis-je faire ? Pouvez-vous m'aider ?

Voici un exemple de code que j'utilise. Merci par avance pour votre
aide précieuse.

Aurélien

------------------------------------------------------------------------- --­----------------------------------------------

<HTML>
<HEAD>
<TITLE>2 Selects dépendants en JavaScript</TITLE>

<script type="text/javascript">
function gensel2(nom_formulaire) {

var s1 = document.forms[nom_formulaire].sel1;
var s2 = document.forms[nom_formulaire].sel2;
s2.length = 0;

for(var n=0; n < liste[s1.selectedIndex].length; n++) {
s2.length++;
s2.options[s2.length-1].text = liste[s1.selectedIndex][ n];
}

}

</script>
</HEAD>

<BODY>
<form name="frm">
<select name="sel1" id="sel1" onChange="gensel2('frm');">
<optgroup label="Régions">
<option>Bretagne</option>
<option selected>Centre</option>
<option>Nord-Pas-de-Calais</option>
</optgroup>
</select>

<select name="sel2" id="sel2">
<optgroup label="Départements"></optgroup>
</select>
</form>

<script type="text/javascript">

var liste = new Array(
new Array("Côtes-d'Armo r","Finistère","Ille-et-
Vilaine","Morbihan"),
new Array("Cher","Eure-et -Loire","Indre","Indre-et-Loire","Loir-
et-Cher","Loiret"),
new Array("Nord","Pas-de- Calais"));

document.frm.sel2.selectedIndex = 2;
</script>
</BODY>
</HTML>


J'ai trouvé...Il fallait juste que je mette ce code sous le
formulaire....

<script type="text/javascript">
gensel2('frm');
document.frm.sel2.selectedIndex = 3;
</script>

Ca pourra peut-être servir à d'autres ;)

Avatar
Y a personne
On 7 juin, 11:36, orus wrote:
Bonjour à tous,

Voici mon problème. J'ai deux listes liées qui pour un région (sel1)
affiche les départements de celle-ce (sel2). La seconde liste est crée
à l'aide d'une fonction Javascript (gensel2).

Je souhaite par exemple que la région "Centre" soit sélectionnée par
défaut, j'ai donc mis "selected" dans la liste sel1 et cela
fonctionne. Le problème est qu'au premier affichage, les départements
de la région "Centre" ne sont pas affichés (c'est sûrement du à la
fonction qui n'est appelée qu'à l'évèneùent onchange()). J'aimerai
d'ailleurs que le département "Indre" soit sélectionné. J'ai donc
tenté le "document.frm.sel2.selectedIndex = 2;" mais cela ne
fonctionne pas...

Comment puis-je faire ? Pouvez-vous m'aider ?

Voici un exemple de code que j'utilise. Merci par avance pour votre
aide précieuse.

Aurélien

---------------------------------------------------------------------------­----------------------------------------------

<HTML>
<HEAD>
<TITLE>2 Selects dépendants en JavaScript</TITLE>

<script type="text/javascript">
function gensel2(nom_formulaire) {

var s1 = document.forms[nom_formulaire].sel1;
var s2 = document.forms[nom_formulaire].sel2;
s2.length = 0;

for(var n=0; n < liste[s1.selectedIndex].length; n++) {
s2.length++;
s2.options[s2.length-1].text = liste[s1.selectedIndex][n];
}

}

</script>
</HEAD>

<BODY>
<form name="frm">
<select name="sel1" id="sel1" onChange="gensel2('frm');">
<optgroup label="Régions">
<option>Bretagne</option>
<option selected>Centre</option>
<option>Nord-Pas-de-Calais</option>
</optgroup>
</select>

<select name="sel2" id="sel2">
<optgroup label="Départements"></optgroup>
</select>
</form>

<script type="text/javascript">

var liste = new Array(
new Array("Côtes-d'Armor","Finistère","Ille-et-
Vilaine","Morbihan"),
new Array("Cher","Eure-et-Loire","Indre","Indre-et-Loire","Loir-
et-Cher","Loiret"),
new Array("Nord","Pas-de-Calais"));

document.frm.sel2.selectedIndex = 2;
</script>
</BODY>
</HTML>


J'ai trouvé...Il fallait juste que je mette ce code sous le
formulaire....

<script type="text/javascript">
gensel2('frm');
document.frm.sel2.selectedIndex = 3;
</script>

Ca pourra peut-être servir à d'autres ;)




tu peux aussi faire <body onload="ta_fonction()">