Trier des SELECT

Signaler
Messages postés
188
Date d'inscription
mercredi 12 octobre 2005
Statut
Membre
Dernière intervention
19 novembre 2011
-
Messages postés
188
Date d'inscription
mercredi 12 octobre 2005
Statut
Membre
Dernière intervention
19 novembre 2011
-
Bonjour à tous,


J'avais un problème : disposant de plusieurs <SELECT> sur la même page, je souhaitais que celui qui était choisi, utilisé par le visiteur, réinitialise tous les autres afin que le tri ne se fasse que sur un seul <SELECT> et non pas sur 2, 3 ou +.


J'ai trouvé un code qui fonctionne du tonnerre :
function checkSelect(_obj){
 
 var selects = document.getElementsByTagName("select");
 
        for ( var i = 0; i < selects.length; i++){


  if ( selects[i].id != _obj.id ) {
          selects[i].selectedIndex = 0;
          }
        }
}



et dans le <SELECT> on met :
<SELECT name='annees' id='2' onchange='checkSelect(this)'>



Mais j'ai un soucis : un des <SELECT> doit rester à sa position choisie par le visiteur. C'est le nom du produit. Les autres servant à trier par date, jour, mois, année, quantité, etc...


Or mon bout de script les ferme tous (sauf 1)...


J'ai essayé en donnant au 'fixe' l'id le plus haut et dans la fonction de préciser : selects.length-1 mais cela ne fonctionne pas...


Quelqu'un aurait une idée ?


Merci d'avance.

Cordialement,

Whombat.





<hr />


Prédire l'avenir est particulièrement aléatoire, 
surtout lorsqu'il s'agit du futur.

2 réponses

Messages postés
469
Date d'inscription
mercredi 9 janvier 2002
Statut
Membre
Dernière intervention
20 février 2017
6
Bonjour, il y aurait une solution de "contournement" à savoir fixé l'id du select sur les produits : appelons le "produit"

Du coup, il suffit de rajouter un test dans la méthode de rinitialisation des selects :

function checkSelect(_obj){
 
 var selects = document.getElementsByTagName("select");
 
        for ( var i = 0; i < selects.length; i++){ 
         if ( selects[i].id != _obj.id && selects[i].id !="produit") {
              selects[i].selectedIndex = 0;
          }
        }
}
et ça devrait tourner.
[o-_-o]
Messages postés
188
Date d'inscription
mercredi 12 octobre 2005
Statut
Membre
Dernière intervention
19 novembre 2011

Merci de la réponse.

Cordialement,

Whombat.
<hr />
Prédire l'avenir est particulièrement aléatoire, 
surtout lorsqu'il s'agit du futur.