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 :

Autocomplete et jqgrid


Sujet :

jQuery

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2015
    Messages : 75
    Points : 54
    Points
    54
    Par défaut Autocomplete et jqgrid
    Salutation tout le monde!!

    Voila j'essaie d'utiliser le plug in autocomplete au sein du plug in jqgrid et je me heurte à quelques problèmes. Lorsque je saisie des lettres dans mon champ utilisateur, les données sont effectivement envoyées à mon script php et celui-ci me retourne les résultats correspondant à la recherche sous format json. Mais le problème c'est que lorsque que je saisie les 1e lettres, la liste déroulante se déploie et est vide alors que j'ai des résultats. D'ailleurs j'ai fait le test lorsque je saisie les lettre "fe" j'ai 5 résultats en json et dans la liste déroulante lorsque je passe la sourie j'ai 5 trucs en surbrillance mais les résultats ne sont pas affiché dans la liste pour que je puisse en sélectionner 1. J'ai mis une image pour que vous puissiez voir le problème:
    Nom : recherche.png
Affichages : 150
Taille : 2,6 Ko

    Voici mon code javascript:

    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
    {name:'UTILISATEUR_ID_UTILISATEUR', index:'UTILISATEUR_ID_UTILISATEUR',
                        width:200,//17
                        height:20,
                        sortable:true,
                        editable:true,
                       // stype:"select",
                        classes: "clickable",
                        edittype: "text",
                        editoptions:{size:30,ajaxSelectOptions: {type: "POST",datatype:"json"}, dataInit: function(elem) //, dataUrl:'utilisateurs/select'
                                                {                               
                                                 $(elem).autocomplete({
     
                                                    source: function(request, response){
                                                    $.get("utilisateurs/select", {
                                                        term:request.term
                                                        }, function(data){
                                                        response($.map(data, function(item) {
                                                            return {
                                                                label: item.NOM_UTILISATEUR,
                                                                value: item.ID_UTILISATEUR
                                                            }
                                                        }))
                                                    }, "json");
                                                },
                                                minLength: 2,
                                                dataType: "json",
                                                cache: false
                                                 });
     
                            }} //créer un select dans le formulaire
                    },
    Voila quelqu'un pourrait il m'aider ? Car j'en ai vraiment besoin et je bloque depuis un moment dessus . Merci d'avance à celui qui pourra éclairer ma lanterne . Et si vous avez besoin de plus de précision je suis la .

    EDIT :
    J'ai résolu mon problème au final!! Et j'étais pas loin de la solution !! voici le code:

    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
    {name:'UTILISATEUR_ID_UTILISATEUR', index:'UTILISATEUR_ID_UTILISATEUR',
                        width:200,//17
                        height:20,
                        sortable:true,
                        editable:true,
                       // stype:"select",
                        classes: "clickable",
                        edittype: "text",
                        editoptions:{size:30,ajaxSelectOptions: {type: "POST",datatype:"json"}, dataInit: function(elem) //, dataUrl:'utilisateurs/select'
                                                {                                 
                                                 $(elem).autocomplete({
                                                    source: function(request, response){
                                                    $.get("utilisateurs/select", {
                                                        term:request.term
                                                        }, function(data){
                                                        response($.map(data, function(item,id) { 
                                                            return {
                                                                label: item,
                                                                value: id
                                                            }
                                                        }))
                                                    }, "json");
                                                },
                                                minLength: 2,
                                                dataType: "json",
                                                search: "",
                                                cache: false
                                                 });
     
                            }} //créer un select dans le formulaire
                    },
    Donc maintenant j'ai la liste déroulante qui contient mes noms d'utilisateurs et lorsque j'en sélectionne un j'ai son id mais j'ai de nouveau un problème, lorsque j'ai sélectionné un utilisateur j'ai que son id qui est mis dans l'input voici l'image qui le montre:

    Nom : recherche2.png
Affichages : 137
Taille : 1,3 Ko

    En faites se que je souhaite c'est d'avoir le nom de l'utilisateur d'affiché mais je renvoi son id comme pour mon problème précédent. Et donc comment peut on faire ? Enfin si cela est possible. Svp je sens que je suis proche de finir donc si quelqu'un peut m'aider ça serai vraiment super!

  2. #2
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 235
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 235
    Points : 15 532
    Points
    15 532
    Par défaut
    regarder l'exemple de code ici :
    http://jqueryui.com/autocomplete/#custom-data

    ce sont les paramètres "focus" et "select" qui modifient le libellé en mettant le texte à la place de l'identifiant

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2015
    Messages : 75
    Points : 54
    Points
    54
    Par défaut
    Merci de ta réponse !! Elle est très intéressante et m'a été très utile pour comprendre un peu mieux le système autocomplete de jquery. Malheureusement ça ne fait ce que je souhaite. Car en faisant quelques tests j'ai remarqué que lorsque je suis dans la liste déroulante pour sélectionner un utilisateur, l'input affiche bien le nom de l'utilisateur, mais une fois sélectionné c'est l'id qui s'affiche dans l'input et non le nom de l'utilisateur. Alors que je veux seulement le nom de l'utilisateur d'afficher dans l'input, mais que le serveur récupère son id. Mais avec un seul input je crois que c'est impossible. Sauf si quelqu'un a trouvé une solution dans ce cas je suis preneur . En faites c'est le paramètre select qui met la valeur finale dans l'input et c'est celle-ci qui sera envoyé au serveur. Alors que le focus ne montre que la valeur que l'on a lorsque l'on passe la souris sur un élément de la liste déroulante. Encore merci pour ta réponse, si quelqu'un a trouvé une solution je suis preneur, je continue de chercher de mon côté .

  4. #4
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 235
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 235
    Points : 15 532
    Points
    15 532
    Par défaut
    dans ce cas, tu peux essayer la chose suivante :
    • ajouter un champ caché "idUtilisateur"
    • au moment de modifier le libellé du menu déroulant, stocker en même temps l'identifiant dans ce champ caché

  5. #5
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2015
    Messages : 75
    Points : 54
    Points
    54
    Par défaut
    Hello mathieu !!

    Désolé j'avais un peu oublié de répondre mais j'ai finalement décidé de garder le nom de l'utilisateur et côté serveur j'ai une requête pour obtenir son id c'est la meilleures solution celon moi. En tout cas merci pour ton aide ça m'a vraiment été utile !! Encore merci !!

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

Discussions similaires

  1. [3.2M4] Petits freezes lors de l'autocomplete
    Par Glob dans le forum Eclipse Java
    Réponses: 3
    Dernier message: 28/12/2005, 11h41
  2. AutoComplete un peu spécial
    Par kobe dans le forum Composants VCL
    Réponses: 7
    Dernier message: 21/07/2005, 11h08
  3. Autocompletion de mot dans un trichedit
    Par mteirek_m dans le forum Composants VCL
    Réponses: 3
    Dernier message: 01/06/2005, 20h22
  4. [kdevelop] autocompletion
    Par hiko-seijuro dans le forum Environnement de Développement Intégré (EDI)
    Réponses: 2
    Dernier message: 13/11/2004, 13h57
  5. [Dbgrid] Picklist & Autocomplete ?
    Par dudux dans le forum Bases de données
    Réponses: 7
    Dernier message: 11/07/2004, 10h32

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