Problème de sélection dans un select multiple

Résolu
pymm Messages postés 48 Date d'inscription mercredi 14 janvier 2004 Statut Membre Dernière intervention 8 septembre 2005 - 18 août 2005 à 09:43
pymm Messages postés 48 Date d'inscription mercredi 14 janvier 2004 Statut Membre Dernière intervention 8 septembre 2005 - 19 août 2005 à 13:44
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

pymm Messages postés 48 Date d'inscription mercredi 14 janvier 2004 Statut Membre Dernière intervention 8 septembre 2005
19 août 2005 à 12:52
<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>
3
cs_djagger Messages postés 536 Date d'inscription lundi 5 mai 2003 Statut Membre Dernière intervention 29 janvier 2009 1
19 août 2005 à 11:57
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+++
0
pymm Messages postés 48 Date d'inscription mercredi 14 janvier 2004 Statut Membre Dernière intervention 8 septembre 2005
19 août 2005 à 12:43
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.
0
pymm Messages postés 48 Date d'inscription mercredi 14 janvier 2004 Statut Membre Dernière intervention 8 septembre 2005
19 août 2005 à 13:44
ç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
0
Rejoignez-nous