Problème de sélection dans un select multiple [Résolu]

Signaler
Messages postés
48
Date d'inscription
mercredi 14 janvier 2004
Statut
Membre
Dernière intervention
8 septembre 2005
-
Messages postés
48
Date d'inscription
mercredi 14 janvier 2004
Statut
Membre
Dernière intervention
8 septembre 2005
-
Bonjour à tous,


J'ai un problème sur l'une de mes pages.


Au rechargement de la page, je remplis les champs d'un select multiple grace a une fonction appelée sur le onload.


Le souci c'est que si je ne met pas le alert(), il ne me
selectionne que la dernière ligne de l'ensemble qui a été selectionné
avant le chargement.


Avec le alert() pas de problème toutes les lignes qui doivent être selectionnées le sont.





Voici le code qui parcourt le tableau JS dans le quel j'ai mes valeurs et le select :


var lg= document.getElementById('Num_raid').options.length;
var i=0;
var trouve=false;
for(indice=0;indice<sel_raid.length;indice++){
while(!trouve && i<lg){
var r=document.getElementById('Num_raid').options[i].value;
alert(r+'=='+ sel_raid[indice]);
if (r == sel_raid[indice]){
document.getElementById('Num_raid').options[i].selected=true;
trouve=true;
}else{
document.getElementById('Num_raid').options[i].selected=false;
}
i++;
}
trouve=false;
}



D'avance merci de vos réponses.

4 réponses

Messages postés
48
Date d'inscription
mercredi 14 janvier 2004
Statut
Membre
Dernière intervention
8 septembre 2005

<tt>J'ai une idée dite "ruse de sioux"

Si j'utilise :

</tt><tt>setTimeout("ma_fonction()", delai);

</tt><tt>avec un délai suffisant pour que la page est fini de se charger</tt><tt>

</tt><tt>Cela devrais fonctionner.

Je teste et vous dis ce que ça donne

</tt><tt></tt>
Messages postés
536
Date d'inscription
lundi 5 mai 2003
Statut
Membre
Dernière intervention
29 janvier 2009
1
Salut !!!

Tu l'exécute ou ton code ?
Ca peut venir du fait que t'essay de l'exécuter avant que ton Num_raid soit créé ! Du coup avec le alert, ca marche pasque le navig a le temps de tout charger avant que tu valides le alert !

Essay de le mettre a la fin de ta page ou faire une fonction que t'apelles onLoad du body !

allé a+++
Messages postés
48
Date d'inscription
mercredi 14 janvier 2004
Statut
Membre
Dernière intervention
8 septembre 2005

C'est aussi ce que j'ai pensé.Le problème c'est que le select est créé dynamiquement et que j'ai la fonction sur le onLoad.

Avant j'avais mis le bout de code de remplissage au bas de
ma page en me disant qu'il aurait créé tous les éléments et qu'ensuite
je les réaffecterai. et là il il ne pouvait pas y accéder me disant que
mon select n'etait pas un objet ou qu'il avait la valeur Null.

J'ai ensuite trouvé une info sur un site disant que de faire une
fonction et de l'appeler sur le onLoad et là on accès aux éléments.
Messages postés
48
Date d'inscription
mercredi 14 janvier 2004
Statut
Membre
Dernière intervention
8 septembre 2005

ça fonctionne super

J'ai l'impression que la fonction est lancé à la fin de chargement de
la page quasi au même moment ou il créé les éléments dynamiques. donc
la temporisation n'a pas besoin d'être énorme. Ceci est vérifier car je
suis en local mais bon l'idée est là.

Merci [auteurdetail.aspx?ID=96291 ]djagger pour ton temps