Précédent   Forum du club des développeurs et IT Pro > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire : Cours JavaScript, FAQ JavaScript, Toutes les FAQ JavaScript et Sources JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 27/10/2005, 14h39   #1
tintin31000
Membre du Club
 
Inscription : septembre 2005
Messages : 48
Détails du profil
Informations forums :
Inscription : septembre 2005
Messages : 48
Points : 40
Points : 40
Par défaut [AutoComplétion] Drop down list

Bonjour tout le monde,

Je voudrais créer une liste déroulante dynamique ....

C'est à dire une liste qui puisse me servir aussi de zone de saisie.
Si dans ma liste j'ai france, italie, ...

Si l'utilisateur tape Fr il faut que ça lui sélectionne France mais s'il tape Es il faut que rien ne s'affiche mais qu'il puisse taper le texte qu'il désire.

De plus, il doit pouvoir dérouler la iste comme une drop down list classique.


Est ce possible ? Si oui avez vous des exemples ou des tutoriaux ?
Merci

modéré par denisC : changement du titre
tintin31000 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/10/2005, 14h48   #2
SpaceFrog
Rédacteur/Modérateur

 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 32 824
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 32 824
Points : 51 397
Points : 51 397
ya pas ça dans la faq !?
__________________
Ma page Developpez - Mon Blog Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
Humour
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/10/2005, 14h49   #3
denisC
Expert Confirmé Sénior
 
Avatar de denisC
 
Inscription : février 2005
Messages : 4 066
Détails du profil
Informations personnelles :
Âge : 33
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : février 2005
Messages : 4 066
Points : 6 896
Points : 6 896
cf Google Suggest pour un exemple de champ texte avec autocomplétion (avec une requete vers le serveur, ce donttt tu n'as pas forcément beoins).

Pour une discussion en anglais sur comment faire ça, voir Google Suggest Dissected.

Il n'y a malheuresement pas encore de tuto sur cette question.
denisC est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/10/2005, 14h51   #4
tintin31000
Membre du Club
 
Inscription : septembre 2005
Messages : 48
Détails du profil
Informations forums :
Inscription : septembre 2005
Messages : 48
Points : 40
Points : 40
Citation:
Envoyé par SpaceFrog
ya pas ça dans la faq !?

Non je n'ai pas trouvé ....
tintin31000 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/10/2005, 14h51   #5
denisC
Expert Confirmé Sénior
 
Avatar de denisC
 
Inscription : février 2005
Messages : 4 066
Détails du profil
Informations personnelles :
Âge : 33
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : février 2005
Messages : 4 066
Points : 6 896
Points : 6 896
Citation:
Envoyé par SpaceFrog
ya pas ça dans la faq !?
Ca serait bienvenu, mais je ne pense pas que ce soit le cas....
denisC est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/10/2005, 15h01   #6
tintin31000
Membre du Club
 
Inscription : septembre 2005
Messages : 48
Détails du profil
Informations forums :
Inscription : septembre 2005
Messages : 48
Points : 40
Points : 40
Citation:
Envoyé par denisC
Citation:
Envoyé par SpaceFrog
ya pas ça dans la faq !?
Ca serait bienvenu, mais je ne pense pas que ce soit le cas....
J'ai regardé l'autocomplete mais le truc c'est qu'au départ je n'ai pas la liste entière tu vois ?

Je vais faire autrement ... en mettant une zone texte avec un bouton à côté (une flèche vers le bas) . Ces 2 élèments représenteront la liste déroulante ...
tintin31000 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/10/2005, 15h14   #7
denisC
Expert Confirmé Sénior
 
Avatar de denisC
 
Inscription : février 2005
Messages : 4 066
Détails du profil
Informations personnelles :
Âge : 33
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : février 2005
Messages : 4 066
Points : 6 896
Points : 6 896
Citation:
Envoyé par tintin31000
J'ai regardé l'autocomplete mais le truc c'est qu'au départ je n'ai pas la liste entière tu vois ?
C'est bien un champ texte, tu peux mettre ce que tu veux dans la liste. Simplement, quand tu commences à saisir quelque choses, il te propose ce qui commence pareil (sur Google Suggest, il y a tout, mais c'est pas forcé).

A toi de voir...
denisC est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/10/2005, 15h16   #8
SpaceFrog
Rédacteur/Modérateur

 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 32 824
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 32 824
Points : 51 397
Points : 51 397
une piste...

Code :
1
2
3
4
5
6
7
8
9
10
11
12
<script type="text/javascript">
function position()
{ for (var n=0;n<pays.length;n++)
      { if (pays[n].text.toLowerCase()>=rech.value.toLowerCase())
           { pays.selectedIndex=n;
              n=pays.length;  }  }  }
 
function sel(){
pays.selectedIndex=13;
alert(pays.itemNumber)
}             
</script>
__________________
Ma page Developpez - Mon Blog Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
Humour
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/10/2005, 15h32   #9
franculo_caoulene
Expert Confirmé
 
Avatar de franculo_caoulene
 
Inscription : octobre 2003
Messages : 2 882
Détails du profil
Informations forums :
Inscription : octobre 2003
Messages : 2 882
Points : 2 583
Points : 2 583
Salut,

les exemples pullules en ce moment à ce sujet là. Il te suffit de faire une recherche dans google sur AJAX (ou xmlhttprequest) et tu auras le principe.
Différents exemples : http://javatwist.imingo.net/suggest.php
http://www.codeproject.com/aspnet/GoogleSuggestDictionary.asp

Tu dois récréer ta liste "artificiellement". Une zone texte qui au onkeyup lance une requête sql avec une clause like et au clique sur le bouton tu lance une requête qui sélectionne toutes les occurences de la liste.

Le pricipe AJAX n'a d'intérêt que si ta liste est énorme. Si c'est pour 150 pays autant tout faire coté client en chargeant dans un tableau javascript toute la liste au chargement de la page.
__________________
Penser à la recherche et au bouton
franculo_caoulene est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/10/2005, 11h32   #10
tintin31000
Membre du Club
 
Inscription : septembre 2005
Messages : 48
Détails du profil
Informations forums :
Inscription : septembre 2005
Messages : 48
Points : 40
Points : 40
J'ai contourné mon problème .... ça pourra peut etre servir à certain.

Au départ j'affiche une zone de texte avec un bouton à côté. Le clic sur ce bouton active la liste déroulante et désactive la zone de texte. (Ce n'est pas exactement ce que je voulais au départ mais bon ...). J'ai fait ça avec un div et une fonction javascript.


Seul problème ... (et oui il en faut un ) ...
Lorsque l'utilisateur saisit une valeur (dans la zone de texte ou la liste déroulante) le résultat retourne une liste déroulante ...
J'aimerai savoir s'il est possible de connaitre le div qui est actif ? (c a dire soit la zone de texte soit la liste déroulante)
tintin31000 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/10/2005, 14h54   #11
Oluha
Membre Expert
 
Avatar de Oluha
 
Inscription : novembre 2004
Messages : 2 177
Détails du profil
Informations personnelles :
Âge : 30
Localisation : France, Ille et Vilaine (Bretagne)

Informations forums :
Inscription : novembre 2004
Messages : 2 177
Points : 1 930
Points : 1 930
essaye de retrouver mon script qui fait exactement ça avec le xmlhttprequest
Oluha est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/10/2005, 15h20   #12
denisC
Expert Confirmé Sénior
 
Avatar de denisC
 
Inscription : février 2005
Messages : 4 066
Détails du profil
Informations personnelles :
Âge : 33
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : février 2005
Messages : 4 066
Points : 6 896
Points : 6 896
Citation:
Envoyé par Oluha
essaye de retrouver mon script qui fait exactement ça avec le xmlhttprequest
Je l'ai cherché, mais je crains qu'un delestage l'ai emmené loin d'ici (paix à son ame )
denisC est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/10/2005, 15h37   #13
Oluha
Membre Expert
 
Avatar de Oluha
 
Inscription : novembre 2004
Messages : 2 177
Détails du profil
Informations personnelles :
Âge : 30
Localisation : France, Ille et Vilaine (Bretagne)

Informations forums :
Inscription : novembre 2004
Messages : 2 177
Points : 1 930
Points : 1 930
encore ?
bon ben décidemment il est toujours délesté
Oluha est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 00h53.


 
 
 
 
Partenaires

Hébergement Web