Forum de discussion
Forum « Programmation Javascript » (archives)
Re: Trie avascript sur un élément de type select
Envoyé: 20 avril 2004, 10h19 par Oznog
Effectivement avec ton ASP je comprend mieux ton histoire de trie. Reste que je ne saisis toujours pas ton :
"dans le 3ème box, alors je liste TOUT à la place de rien".
- C'est quoi ce "3ème box" ?
- C'est quoi ce "liste TOUT" ?
- C'est quoi ce "à la place" ?
Est-tu en train de me dire qu'il n'y a jamais de 3ième liste? Tu n'as pas d'élément nommé de "Poste" ? Ou celui-ci est une option de la seconde liste généré par le ASP ?
Enfin, pour le code :
- Oui, il y a des tests, selon que le filtre soit un objet (un élément de type "select") ou directement la matrice des options sélectionnées. ATTENTION, LE FILTRE BIEN QU'ÉTANT UN élément de type "select" est convertie EN MATRICE en partant (getValue).
- En même temps on initialise une boléenne qui indique avec ou sans filtre (RefillAll).
- Récupérer l'option sélectionné (OriginalValue), convertie en matrice (array) s'il ne l'es déjà (createArray). S'assure de vider la sélection au complet (clearSelect). Puis passe chacun des élément de la matrice pour le trie en tant que tel.
Soit :
- Test la présence du filtre (IsInArray) dans la matrice.
- Si le filtre est trouvé, ajouter l'option à la liste auparavent vidé (addOption).
- S'il y a un filtre (RefillAll) on provoque l'événement "onchange()"
- Et c'est là tabarnak que je tombe sur cette variable "refill_original_value_on_filter " qui permet de reconstruire la liste au complet, à condition qu'il y ait une valeur original (OriginalValue != "") et qu'il n'y ai pas de filtre !(RefillAll).
En d'autre mot je me suis tapper ton code pour découvrir que tu n'as visiblement qu'à changer ta variable "refill_original_value_on_filter" au début du code. Essai donc pour voir :
refill_original_value_on_filter = true;
Tout ça pour dire que quand on perd la source d'un script on peut aussi perdre beaucoup de temps!
p.s. AVIS À TOUS, LAISSER LE NOM DE L'AUTEUR ET LA SOURCE (url) D'UN SCRIPT n'est pas un caprice.
Ciao
Oznog
Réponses
|