Se connecter / S'enregistrer
Votre question

[Résolu] [HTML/Javascript] Problème boucle for

Tags :
  • Select
  • Programmation
Dernière réponse : dans Programmation
27 Septembre 2007 16:18:33

Bonjour tout le monde,

Contexte :

J'ai deux select sur ma page.
Le but étant d'actualiser le deuxième en fonction du choix effectué dans le premier sans rappeler la page.

Problème :

Quand je choisi une option dans le premier select, les options du deuxième changent : nickel ... Sauf que 7 des anciennes options ne disparaissent pas.
Alors que l' alert(j) que j'ai rajouté montre bien que la boucle for sensé supprimer (=null) toutes les options va de 0 à 15.

J'espère avoir été clair. Sinon dites moi le !!!

Voilà le code :

<script language='Javascript'>

var _1 = new Array();
_1[0] = new Option();
_1[0].text = 'ULCH101';
_1[0].value = '45';

_1[1] = new Option();
_1[1].text = 'ULCH301';
_1[1].value = '50';

_1[2] = new Option();
_1[2].text = 'ULIN101';
_1[2].value = '44';
.
.
. (je vous fais grâce des 12 autres options)
.
_1[15] = new Option();
_1[15].text = 'ULMA301';
_1[15].value = '51';

var _10 = new Array();
_10[0] = new Option();
_10[0].text = 'Tersdefrtg';
_10[0].value = '70';

function selectAnnee(f)
{
var t = f.id_folder.options.length;
for (j = 0 ; j < t ; j++)
{

=====>> alert(j);

f.id_folder.options[j] = null;
}

if(f.id_annee.value==1)
{
for (i = 0 ; i < _1.length ; i++)
{
f.id_folder.options = _1;
}
}

if(f.id_annee.value==10)
{
for (i = 0 ; i < _10.length ; i++)
{
f.id_folder.options = _10;
}
}
}
</script>

<select name='id_annee' class='input_3' onChange="selectAnnee(this.form)">
<option value=''>Choisir ...</option>
<option value='1'>PiP 1&2</option>
<option value='10'>Trest</option>
</select>

<select name='id_folder' class='input_3'>
<option value=''>Choisisser une année</option>
</select>


Merci à ceux qui y jéteront un coup d'oeil.

Autres pages sur : resolu html javascript probleme boucle for

27 Septembre 2007 16:49:39

Pour ceux qui s'y sont intéressé, voilà la solution

for (j = 0 ; j < t ; j++)
{
f.id_folder.options[0] = null;
}
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS