Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1689 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Javascript + Liste déroulante <select>

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Javascript + Liste déroulante <select>

n°1480136
TomZ
Posté le 22-11-2006 à 17:55:01  profilanswer
 

Bonjour à tous :hello:,
 
J'ai une question concernant du Javascript : dans ma page j'ai en fait une liste déroulante générée a partir d'une base de données.
 
Cette liste est du type  
<SELECT name="" onchange="javascript:this.form.submit();" >  
<OPTION>....
</SELECT>
 
J'aurais aimé savoir si le javascript permet de récupérer la taille de cette liste déroulante. Peu importe la manière si je dois d'abord parcourir tous les éléments puis incrémenter un compteur ou s'il y a une fonction spécifique.
 
Parce qu'en fait je voudrais trier les éléments de cette liste par ordre alphabetique ce que la requete ne permet pas de faire puisque je fais un order_by indexXX qui lui fait ensuite référence à un fichier de traduction qui créer la liste. Comme selon les langues les traductions changent, est-il donc possible de trier cette liste en javascript. (tout d'abord en récupérant la taille).
 
Merci par avance.


Message édité par TomZ le 22-11-2006 à 17:57:03
mood
Publicité
Posté le 22-11-2006 à 17:55:01  profilanswer
 

n°1480138
FlorentG
Unité de Masse
Posté le 22-11-2006 à 17:56:00  profilanswer
 

C'est pas bien de faire comme ça, il faut un bouton submit pour ceux qui naviguent au clavier ou ceux qui ont le focus sur la select.

n°1480139
TomZ
Posté le 22-11-2006 à 17:58:34  profilanswer
 

Le problème est que c'est de l'existant donc je dois m'adapter à ce qui est fait.
 
Ya t-il donc une solution?

n°1480145
FlorentG
Unité de Masse
Posté le 22-11-2006 à 18:00:41  profilanswer
 

En comptant le nombre d'options, avec un getElementsByTagname + un length

n°1480148
TomZ
Posté le 22-11-2006 à 18:03:04  profilanswer
 

Pourrais tu être plus précis en me donnant un exemple s'il te plaît.
Merci d'avance

n°1480156
FlorentG
Unité de Masse
Posté le 22-11-2006 à 18:06:16  profilanswer
 

Déjà rajoute un id sur ton select, genre "tagada", ensuite faut faire genre :

var nombreOption = document.getElementById("tagada" ).getElementsByTagname('option').length


 
J'espère que c'est pour un intranet :sweat:

n°1480163
anapajari
s/travail/glanding on hfr/gs;
Posté le 22-11-2006 à 18:11:01  profilanswer
 

pour le coup j'aurais pas fait de getElementsByTagName mais direct utilisé le tableau options:

Code :
  1. var nombreOption = document.getElementById("tagada" ).option.length

n°1480164
FlorentG
Unité de Masse
Posté le 22-11-2006 à 18:11:19  profilanswer
 

ah ouais [:dawa]

n°1480175
TomZ
Posté le 22-11-2006 à 18:36:19  profilanswer
 

Voilà j'ai mon code :

Code :
  1. <html>
  2. <head>
  3. <title>Test de tri</title>
  4. <script language="javascript">
  5. function test()
  6. {
  7.   var nombreOption = document.getElementById("liste" ).option.length
  8.   alert(nombreOption);
  9. }
  10. </script>
  11. </head>
  12. <body>
  13. <select name="liste_test" onChange="test()" id="liste">
  14.  <option name="1" value="Bonjour">Bonjour
  15.  <option name="2" value="Au revoir">Au revoir
  16.  <option name="3" value="Test">Test
  17.  <option name="4" value="Vitesse">Vitesse
  18. </select>
  19. </body>
  20. </html>


 
Mais ile me sort le message d'erreur suivant :  

Code :
  1. Erreur : document.getElementById("liste" ).option has no properties
  2. Ligne : 42


 
Avez vous une idée ?


Message édité par TomZ le 22-11-2006 à 18:38:08
n°1480180
TomZ
Posté le 22-11-2006 à 18:48:32  profilanswer
 

Visiblement  j'ai fait des tests

Code :
  1. var nombreOption = document.getElementById("liste" ).length

suffit
 
Merci à tous

Message cité 1 fois
Message édité par TomZ le 22-11-2006 à 18:48:50
mood
Publicité
Posté le 22-11-2006 à 18:48:32  profilanswer
 

n°1480183
TomZ
Posté le 22-11-2006 à 18:49:39  profilanswer
 

Seconde question peut être. Comment stocker tous les éléments de la liste dans un tableau à une dimension.
 
Tout cela dans le but de trier la liste déroulante en javscript. Est-il vraiment possible de le faire?


Message édité par TomZ le 22-11-2006 à 18:58:41
n°1480189
FlorentG
Unité de Masse
Posté le 22-11-2006 à 18:58:27  profilanswer
 

TomZ a écrit :

Visiblement  j'ai fait des tests

Code :
  1. var nombreOption = document.getElementById("liste" ).length

suffit
 
Merci à tous


Pour l'erreur problème, tu devrais commencer par regarder dans la documentation (HTMLSelectElement), qui spécifie que c'est options, pas option.

n°1480195
TomZ
Posté le 22-11-2006 à 19:20:55  profilanswer
 

Merci pour le prblème c'et réglé.
 
Cependant avant de me lancer dans n'importe quoi j'aurais aimé savoir s'il était possible de ré-organiser une liste déroulante (générée à partir d'une base de données) avec du Javascript.
 
Merci par avance


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Javascript + Liste déroulante <select>

 

Sujets relatifs
changer focus d'un select en fonction choix autre selectcharger un xml avec un template xsl en javascript ? [résolu]
Utiliser SET mais avec une liste (SET IN etc...)gestion d'une liste d'attente ??
javascript dans chemin xmlErreur javascript aléatoire
erreur execution javascriptPb Ajax/Javascript
javascript lien favorie souligné.[Javascript] disabled/enabled une liste déroulante (balise SELECT)
Plus de sujets relatifs à : Javascript + Liste déroulante <select>


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR