Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 13 sur 13
  1. #1
    Membre du Club
    Inscrit en
    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

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
    Inscrit en
    mars 2002
    Messages
    34 899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    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 : 34 899
    Points : 56 619
    Points
    56 619

    Par défaut

    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.oxygen-translations.com|www.saftair.com| www.ouestisol.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
    Humour

  3. #3
    Expert Confirmé Sénior
    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    février 2005
    Messages
    4 065
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : février 2005
    Messages : 4 065
    Points : 6 901
    Points
    6 901

    Par défaut

    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.

  4. #4
    Membre du Club
    Inscrit en
    septembre 2005
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : septembre 2005
    Messages : 48
    Points : 40
    Points
    40

    Par défaut

    Citation Envoyé par SpaceFrog
    ya pas ça dans la faq !?

    Non je n'ai pas trouvé ....

  5. #5
    Expert Confirmé Sénior
    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    février 2005
    Messages
    4 065
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : février 2005
    Messages : 4 065
    Points : 6 901
    Points
    6 901

    Par défaut

    Citation Envoyé par SpaceFrog
    ya pas ça dans la faq !?
    Ca serait bienvenu, mais je ne pense pas que ce soit le cas....

  6. #6
    Membre du Club
    Inscrit en
    septembre 2005
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : septembre 2005
    Messages : 48
    Points : 40
    Points
    40

    Par défaut

    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 ...

  7. #7
    Expert Confirmé Sénior
    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    février 2005
    Messages
    4 065
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : février 2005
    Messages : 4 065
    Points : 6 901
    Points
    6 901

    Par défaut

    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...

  8. #8
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
    Inscrit en
    mars 2002
    Messages
    34 899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    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 : 34 899
    Points : 56 619
    Points
    56 619

    Par défaut

    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.oxygen-translations.com|www.saftair.com| www.ouestisol.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
    Humour

  9. #9
    Expert Confirmé Avatar de franculo_caoulene
    Inscrit en
    octobre 2003
    Messages
    2 880
    Détails du profil
    Informations forums :
    Inscription : octobre 2003
    Messages : 2 880
    Points : 2 582
    Points
    2 582

    Par défaut

    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

  10. #10
    Membre du Club
    Inscrit en
    septembre 2005
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : septembre 2005
    Messages : 48
    Points : 40
    Points
    40

    Par défaut

    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)

  11. #11
    Membre Expert Avatar de Oluha
    Profil pro
    Inscrit en
    novembre 2004
    Messages
    2 179
    Détails du profil
    Informations personnelles :
    Âge : 31
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : novembre 2004
    Messages : 2 179
    Points : 1 799
    Points
    1 799

    Par défaut

    essaye de retrouver mon script qui fait exactement ça avec le xmlhttprequest

  12. #12
    Expert Confirmé Sénior
    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    février 2005
    Messages
    4 065
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : février 2005
    Messages : 4 065
    Points : 6 901
    Points
    6 901

    Par défaut

    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 )

  13. #13
    Membre Expert Avatar de Oluha
    Profil pro
    Inscrit en
    novembre 2004
    Messages
    2 179
    Détails du profil
    Informations personnelles :
    Âge : 31
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : novembre 2004
    Messages : 2 179
    Points : 1 799
    Points
    1 799

    Par défaut

    encore ?
    bon ben décidemment il est toujours délesté

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •