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 :

Saisie de plusieurs caractère dans une liste déroulante


Sujet :

JavaScript

  1. #1
    Membre chevronné Avatar de Oluha
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    2 183
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 183
    Points : 1 967
    Points
    1 967
    Par défaut Saisie de plusieurs caractère dans une liste déroulante
    Bonjour

    J'ai dans ma page des listes déroulantes contenant des codes postaux. J'aimerai que l'utilisateur puisse rechercher un code postal dans la liste en tapant plusieurs chiffres or actuellement on ne peut faire une recherche que sur la 1er lettre.

    Je ne vois pas trop comment faire. En faisant une recherche j'ai vu un post similaire mais la seule réponse disait que c'était possible sans préciser comment faire ou donner de solution.

    Si quelqu'un peut m'aider ca serait cool.

    Merci

  2. #2
    Membre chevronné Avatar de Oluha
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    2 183
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 183
    Points : 1 967
    Points
    1 967
    Par défaut
    pas d'idée ?
    Je précise que je souhaite utiliser une liste déroulante et non un champ texte car je veux empecher l'utilisateur de saisir un code postal qui n'existe pas et je veux lui permettre de regarder toutes les possibilités de la liste.
    Le problème c'est que la liste peu être très longue (suivant la requête SQL qui la remplie) et le fait de pouvoir saisir plusieurs chiffres pour rechercher le cp serait plus ergonomique.
    Enfin si quelqu'un a une solution alternative correspondant à ce que je recherche je suis aussi preneuse.

  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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    à chaque fois sur le onkeyup tu scannes la liste et tu positionnes le selectedIndex sur le bon ... à condition que les options soient classées par ordre croissant ...
    sujet déja traité...

  4. #4
    Membre chevronné Avatar de Oluha
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    2 183
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 183
    Points : 1 967
    Points
    1 967
    Par défaut
    Je me doute que le sujet a été traité mais je n'ai pas trouvé de solution en faisant recherche avancée

    Sinon j'ai essayé de faire une fonction en suivant tes indications mais ca ne fonctionne pas :

    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
    var recherche = "";
     
    function codeTouche(evenement){
    	for (prop in evenement){
    		if(prop == 'which') return(evenement.which);
    	}
    	return(evenement.keyCode);
    }
     
    function rechercher(touche) {
    	var codeDecimal  = codeTouche(touche);
    	var car = String.fromCharCode(codeDecimal);
    	recherche = recherche + car;
    	for (i=0;i<document.getElementById('cp').length;i++) {
    		pos = document.getElementById('cp').options[i].value;
    		if (pos >= recherche) {
    			document.getElementById('cp').selectedIndex = i;
    			i=document.getElementById('cp').length;
    		}
    	}
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <select name="cp" id="cp"  onKeyUp="rechercher(event)">
    Une idée ou une solution ?

    Merci

  5. #5
    Membre chevronné Avatar de Oluha
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    2 183
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 183
    Points : 1 967
    Points
    1 967
    Par défaut
    en fait je viens de me rendre compte que quand je tapais sur le pavé numérique il me renvoyais pas le bon caractère !

    Si je tape 3 sur le pavé numérique et que je fais un alert il me dis que le caractère est "c" alors que si je passe pas les autres touches il me renvoie bien "3". Comment faire ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Plusieurs champs dans une liste déroulante
    Par Vincinho dans le forum Langage SQL
    Réponses: 8
    Dernier message: 02/12/2009, 14h10
  2. [ODBC] Garder une saisie après sélection dans une liste déroulante
    Par nawak.seb dans le forum PHP & Base de données
    Réponses: 23
    Dernier message: 27/08/2008, 14h48
  3. Plusieures "values" dans une liste déroulante
    Par Yokosuma dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 07/04/2008, 11h58
  4. [Conception] Plusieurs champs dans une liste déroulante
    Par louroulou dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 20/07/2007, 04h55
  5. Réponses: 1
    Dernier message: 27/10/2005, 21h48

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