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

jQuery Discussion :

Ajouter une action lors de la selection dans la liste de choix de l'autocompletion


Sujet :

jQuery

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 52
    Points : 41
    Points
    41
    Par défaut Ajouter une action lors de la selection dans la liste de choix de l'autocompletion
    Bonjour,

    Je fais une recherche dans une table de ma BDD client en autocompletion.
    Lors de la sélection de l’utilisateur, je souhaiterais dispatcher le résultat vers les différents champs du formulaire…
    Ex :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <form>
        <input type="text" id="recherche" value=""/>
        <input type="text" id="ville" value=""/>
        <input type="text" id="pays" value=""/>
    </form>
    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
    $('#recherche').autocomplete({
        source: function (requete, reponse) {
            $.ajax({
                type: 'POST',
                processData: true,
                url: 'processus/find.php',
                dataType: 'json',
                data: {
                    nameContent: $('#recherche').val(),
                    maxRows: 15
                },
                success: function (data) {
                    reponse($.map(data, function (objet) {
                        return objet.nom + ' ' + objet.prenom + ' ' + objet.adresse1 + ' ' + objet.adresse2 + ' ' + objet.cp + ' ' + objet.ville + ' ' + objet.pays;
                    }));
                },
                select: function (data) {
                    reponse($.map(data, function (objet) {
                        $('#ville').val(objet.ville);
                        $('#pays').val(objet.pays);
                    }));
                }
            });
        }
    });
    La première partie du code fonctionne…. Mais pas le « select : ».... Quelqu’un peut m’aiguiller ?
    Merci

  2. #2
    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
    data vaut quoi lors du select ?

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 52
    Points : 41
    Points
    41
    Par défaut
    Lors du select, data est une liste de réponses possible renvoyé par mon URL (find.php) qui crée un tableau au format JSON.
    Ceci fonctionne bien...

    Data contient donc les éléments: nom, prenom, adresse1, adresse2, cp, ville, pays.

    C'est lorsque que l'utilisateur sélectionne un choix que je voudrais dispatcher les éléments de réponse vers différents id...

  4. #4
    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
    Data contient donc les éléments: nom, prenom, adresse1, adresse2, cp, ville, pays.
    en est tu certain ? as tu testé ? un console.log .... par exemple

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 52
    Points : 41
    Points
    41
    Par défaut
    Oui,oui la première partie fonctionne,
    j'obtiens une liste de réponse parmi laquelle je peux choisir un élément.
    Lorsque je clique sur l'élément, la totalité de la ligne (nom prenom ... ect.. ) s'affiche dans l'id "recherche".
    Cette partie là fonctionne bien...
    C'est la suite qui pose pblm...

    Ce que je voudrais c'est lorsque je clique sur une possibilité, pouvoir afficher la ville de la ligne sélectionnée dans ville, idem pour le pays....
    Dispatcher chaque éléments de réponse dans différents ID

  6. #6
    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
    Ce n'est pas là question ...
    ton autocomplétion fonctionne bien soit, car c'est dans le success qu'elle se réalise et que ton paramètre data est bien renseigné ...

    Je ne suis pas sur que cela soit le cas dans le select, d'ou le test de console.log pour voir si ton data contient bien ce que tu crois qu'il contient dans le select ...

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 52
    Points : 41
    Points
    41
    Par défaut
    ok, j'avais pas bien compris ta question...

    Ce select ne fonctionne pas...
    Je n'ai absolument rien dedans....
    Mais je voudrais bien avoir un select qui aurait qq chose ...

  8. #8
    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
    le select est supposé se déclencher lors de la selection d'une option ...
    je ne vois pas à quoi te sert le data à ce endroit ???

    Quelle est l'ergonomie récherchée ? que veux tu faire lors de la selection ?

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 52
    Points : 41
    Points
    41
    Par défaut
    Oui, je sais que je n’utilise pas le select comme il faut dans mon bout de code.

    J'espérais seulement pouvoir synthétisé mon idée, mon besoin....

    J’ai en fait un formulaire client qui permet d’apporter des modifications sur les enregistrements.
    A partir du champ nom, je souhaite mettre en place un autocomplete qui va aider l’utilisateur à choisir le client.
    Lorsque le choix est fait, c’est-à-dire une sélection effectuée dans la liste de choix de l’autocompletion,
    les différents champs du formulaire serait alors renseignés des éléments de la fiche client.
    L’utilisateur pourrait alors modifier un ou plusieurs des champs et enregistrer les modifications en continuant le processus….

    En fait, cela parait tout simple...mais... je ne sais pas comment faire...

  10. #10
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Points : 22 933
    Points
    22 933
    Billets dans le blog
    125

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 52
    Points : 41
    Points
    41
    Par défaut
    Merci pour le lien...
    M'inspirant de l'exemple j'ai fait ceci qui "fonctionne" mais ce n'est pas très beau... Surement moyen d'affiner?
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <form>
        <input type="text" id="nom" value=""/>
        <input type="text" id="prenom" value=""/>
        <input type="text" id="adresse1" value=""/>
        <input type="text" id="adresse2" value=""/>
        <input type="text" id="cp" value=""/>
        <input type="text" id="ville" value=""/>
        <input type="text" id="pays" value=""/>
    </form>
    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
    $('#nom').autocomplete({
        minLength: 2,
        source: function (requete, reponse) {
            $.ajax({
                type: 'POST',
                processData: true,
                url: 'processus/find.php',
                dataType: 'json',
                data: {
                    nameContent: $('#nom').val(),
                    maxRows: 15
                },
                success: function (data) {
                    reponse($.map(data, function (objet) {
                        return objet.nom + '##' + objet.prenom + '##' + objet.adresse1 + '##' + objet.adresse2 + '##' + objet.cp + '##' + objet.ville + '##' + objet.pays;
                    }));
                }
            });
        },
        select: function (event, ui) {
            var tabReponse = new Array();
            var line = ui.item.label;
            tabReponse = line.split("##");
            $('#nom').val(tabReponse[0]);
            $('#prenom').val(tabReponse[1]);
            $('#adresse1').val(tabReponse[2]);
            $('#adresse2').val(tabReponse[3]);
            $('#cp').val(tabReponse[4]);
            $('#ville').val(tabReponse[5]);
            $('#pays').val(tabReponse[6]);
            return false;
        }
    });

Discussions similaires

  1. Ajouter une action dans le menu lors d'un clic droit
    Par steackfrite dans le forum NetBeans
    Réponses: 0
    Dernier message: 26/08/2013, 10h07
  2. Ajout d'une action lors de la fermeture de Windows
    Par Francois Ronsin dans le forum Windows XP
    Réponses: 5
    Dernier message: 22/03/2008, 08h09
  3. Ajouter une action à exécuter lors de la compilation
    Par T`lash dans le forum NetBeans
    Réponses: 4
    Dernier message: 26/11/2007, 18h40
  4. Ajouter une action dans une liste de checkbox
    Par kstou2001 dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 09/08/2007, 19h06
  5. ajouter une action dans un jeu
    Par lolo5169 dans le forum Projets
    Réponses: 15
    Dernier message: 28/08/2006, 09h53

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