IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

[Formulaire] Liste déroulante dynamique [Fait]


Sujet :

JavaScript

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 24
    Par défaut [Formulaire] Liste déroulante dynamique
    Bonjour,

    Je dispose d'une liste déroulante avec beaucoup d'options à l'intérieur. Je voudrais donc ajouter une zone de texte où l'utilisateur taperait l'option qui lui conviendrait, et si elle existe alors la liste déroulante n'afficherait que les options que l'utilisateur a tapé.

    Suis-je clair ? Si oui quelqu'un sait faire ça ?

    Merci d'avance !

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    397
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 397
    Par défaut
    Il va te falloir utiliser AJAX à priori...

    Un tutoriel ici http://dcabasson.developpez.com/arti...ion-pas-a-pas/

  3. #3
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

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

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    heu il y a plusieurs options identiques ?
    ou tu veux que uniquement les options "commençant par ..." ce que l'utilisatuer à tapé s'affichent ?
    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

    Venez sur le Chat de Développez !

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 24
    Par défaut
    Plusieurs options identiques séparées par des tirets.

    Par exemple :
    Frite-merguez-saucisse
    Taboulé-tomate-merguez
    Hérisson-bolognaise-frite

    Quand l'utilisateur tape "frite" par exemple, dans la liste déroulante il ne doit n'y avoir plus que la 1ère et la 3ème option.

  5. #5
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

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

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    vite fait dasn l'idée ça pourrait faire un truc comme ça ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    <script type="text/javascript">
    var Formules= new Array();
     
    Formules[0]="Abricot-Banane-Coulis"
    Formules[0].value=1
    Formules[1]="Abricot-Charlotte-Domino"
    Formules[1].value=2
    Formules[2]="Amande-Banane-fraise"
    Formules[2].value=3
    Formules[3]="Frites-Merguez-mayonnaise"
    Formules[3].value=4
    Formules[4]="Barbac-Cerise-boisson"
    Formules[4].value=5
    Formules[5]="Poulet-Bonbon-frite"
    Formules[5].value=6
    Formules[6]="Steack-Haricots-ketchup"
    Formules[6].value=7
    Formules[7]="Saucisse-Salade-Tomate"
    Formules[7].value=8
    Formules[8]="Merguez-salade-Tomate"
    Formules[8].value=9
     
    function choice(Obj){
    var Sel=document.getElementById('Menus');
    Sel.options.length=0;
    var i=0;
     
    while(Formules[i]){
     
    		if(Obj.value.length>3 && (Formules[i].toLowerCase().indexOf(Obj.value.toLowerCase())>-1)){
     
    		         var newOpt=document.createElement('option');
    		         newOpt.innerHTML=Formules[i];
    		         newOpt. value=Formules[i].value;
    		         Sel.appendChild(newOpt);
    		         }
    		         i++;
    		         }
     
    }
     
    </script>
     
     
     
    </head>
     
    <body>
    <input type='text' onkeyup="choice(this)" value='' />
    <select id="Menus" style="width:250px;">
    </select>
    </body>
     
    </html>
    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

    Venez sur le Chat de Développez !

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 24
    Par défaut
    Oui c'est tout à fait ça le principe sauf que ma liste contient environ 200 options, je ne vais donc pas les numéroter une par une ! Il y aurait un autre moyen ?

    Merci beaucoup en tout cas !

  7. #7
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

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

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    comment ça les numéroter une par une ?
    de toute façn tu te pastille le code htm non ou alors les options proviennent d'une base ?
    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

    Venez sur le Chat de Développez !

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 24
    Par défaut
    Les options proviennent d'un annuaire LDAP, et peuvent changer de temps en temps. Je ne peux donc pas les prendre une par une afin de les "étiqueter" !

  9. #9
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

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

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    comment construits tu ton select à ce jour ???
    je ne vois aucune contre indication ...
    qu'entends par "étiqueter" ???
    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

    Venez sur le Chat de Développez !

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 24
    Par défaut
    Voici comment est construit mon select (attention page en PERL)

    $N0="chemins.txt";
    open (F0,$N0);
    while (<F0>)
    {
    chop;
    if (/[0-9]:/)
    {
    @var=split(/:/,$_);
    if ($var[0]==8) { $biblio=$var[1]; } ## fichiers include
    }
    }
    close(F0);
    require($biblio);
    &centreldap;
    print("<u>Service</u> :");
    print("<select name=\"choix_service\">");
    print("<option value=\"(choisissez)\" selected=\"selected\">(choisissez)</option>");
    &services;
    print("</select>");

  11. #11
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

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

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    ben fait ça mais pour générer l'array javascript ....
    pas de contrindication ...
    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

    Venez sur le Chat de Développez !

  12. #12
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 24
    Par défaut
    Désolé mais c'est la première fois que je dois faire du Javascript donc j'ai un peu du mal !

    Comment puis-je remplacer les "Formules[1]="Abricot-Charlotte-Domino"
    Formules[1].value=2" dans mon cas ?

    Merci beaucoup !

  13. #13
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

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

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    HEu ben je ne vois même pas comment tes 200 options ???
    pour moi là il n'y en a qu'une

    ça vient d'ou ça ?
    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

    Venez sur le Chat de Développez !

  14. #14
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 24
    Par défaut
    C'est justement la liste de toutes les options. Dans le formulaire on a toutes les options une par une grâce à cette variable.

  15. #15
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

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

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    et tu peux pas faire la mêmé chose pour l'array ?
    sinon va falloir construire l'array à partir des options...
    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

    Venez sur le Chat de Développez !

  16. #16
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 24
    Par défaut
    En fait il n'y a pas un moyen de récupérer tout simplement les options de la liste déroulante afin de réaliser le truc de recherche ?

  17. #17
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

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

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    oui c'et ce que je disais dans ma reponse précédente, sur le onload de la page construire l'array à partir des options du select ...
    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

    Venez sur le Chat de Développez !

  18. #18
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 24
    Par défaut
    Je me répète mais je n'ai jamais fait de Javascript ! En voyant le sctipt que tu m'as donné c'est comme du Chinois !

    Comment puis-je donc faire pour récupérer pour construire l'Array ?

    Merci beaucoup car c'est vraiment important pour moi !!

  19. #19
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

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

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    <html>
    <head>
     
    <script type="text/javascript">
     var Formules= new Array();
     
    function MakeArray(){
     var Sel=document.getElementById('Menus');
     
     for (i=0;Sel.options[i];i++){
               Formules[i]=Sel.options[i].innerHTML;
               Formules[i].value=Sel.options[i].value;
               }
     document.getElementById('Menus').options.length=0;
      }
     
     
    function choice(Obj){
    var Sel=document.getElementById('Menus');
    Sel.options.length=0;
    var i=0;
     
    while(Formules[i]){
     
    		if(Obj.value.length>3 && (Formules[i].toLowerCase().indexOf(Obj.value.toLowerCase())>-1)){
     
    		         var newOpt=document.createElement('option');
    		         newOpt.innerHTML=Formules[i];
    		         newOpt. value=Formules[i].value;
    		         Sel.appendChild(newOpt);
    		         }
    		         i++;
    		         }
     
    }
     
    </script>
    </head> 
     
     
    <body onload="MakeArray()">
    <input type='text' onkeyup="choice(this)" value='' />
    <select id="Menus" style="width:250px;">
    <option value='1'>Abricot-Banane-Coulis</option>
    <option value='2'>Fraise-Frites-Chocolat</option>
    <option value='3'>Pomme-Banane-Cassis</option>
    <option value='4'>Cassis-Banane-Coulis</option>
    <option value='5'>Orange-Coulis</option>
    <option value='6'>Citron-Banane-Coulis</option>
     
    </select>
    </body>

    J'envoie la facture à qui ?
    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

    Venez sur le Chat de Développez !

  20. #20
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 24
    Par défaut
    Hihi t'es un Dieu !


    Merci beaucoup tu m'as bien aidé !

    Aurevoir

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. affichage d'une liste déroulante dynamique dans un formulaire
    Par manelll dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 04/06/2015, 12h42
  2. Formulaire avec liste déroulant dynamique
    Par Medkeita dans le forum Langage
    Réponses: 10
    Dernier message: 01/10/2010, 10h14
  3. Réponses: 3
    Dernier message: 06/04/2010, 11h10
  4. Réponses: 4
    Dernier message: 23/04/2006, 21h27
  5. [FORMULAIRE] Liste déroulante dynamique
    Par bchristo dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 18/01/2005, 10h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo