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

ASP.NET Ajax Discussion :

Autocomplétion avec affichage de plusieurs champs dans une liste


Sujet :

ASP.NET Ajax

  1. #1
    Membre éprouvé Avatar de chewing-gum
    Homme Profil pro
    Développeur Java
    Inscrit en
    Novembre 2009
    Messages
    105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Novembre 2009
    Messages : 105
    Par défaut Autocomplétion avec affichage de plusieurs champs dans une liste
    Bonjour,

    Sur un projet que je développe, je dois implémenter une fonction d'autocomplétion mais j'ai un problème que je n'arrive pas à résoudre.
    Explication de la fonction : Lorsqu'un utilisateur entre l'identifiant d'un article dans une textbox (et plus précisément 2 chiffres), une liste déroulante doit s'afficher. Dans cette liste, on pourra visualiser les articles avec leur identifiant et leur désignation.

    Pour le moment, je n'arrive qu'à afficher l'identifiant de l'article lorsque l'utilisateur tape 2 chiffres (une image pour illustrer le formulaire) :

    http://imageshack.us/f/716/autocompleteok.jpg/


    Problème : Dès que je veux afficher + d'informations dans ma liste déroulante, ma liste devient blanche !
    Il suffit que j'ajoute un seul champ dans ma requête (ou que je sélectionne tous les champs) pour que l'autocomplétion affiche une liste blanche... Une image pour illustrer ce problème :
    http://imageshack.us/photo/my-images...ompleteok.jpg/

    Voici mon code Jquery :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
                // Autocomplétion idArticle
                $('.articles').autocomplete({
                    source: '<%= Url.Action("GetArticles") %>',
                    datatype: 'json',
                    minLength: 2,
                    scroll: true
                });
    Ma méthode GetArticles se situant dans mon contrôleur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
            public JsonResult GetArticles(string term)
            {
                var listTcrefusi = (List<TCREFUSI>) articleRepository.GetRefusiByName(term);
     
                log.Info("LISTE DES ARTICLES :");
                foreach(TCREFUSI tcrefusi in listTcrefusi)
                {
                    log.Info(tcrefusi.REFUSI + "--" + tcrefusi.DESREF);
                }
     
                return Json(listTcrefusi, JsonRequestBehavior.AllowGet);
            }
    Ma requête SQL :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     
            public Object GetRefusiByName(string name)
            {
                Object articles = (from TCREFUSI in _bce.TCREFUSIset.Where(tcref => tcref.REFUSI.StartsWith(name))
                                   select TCREFUSI).ToList();
     
     
                return articles;
            }
    Pourtant, dans mes logs, ma requête fonctionne... Mais au niveau de l'affichage, rien de marche !

    -> A noter qu'un objet "TCREFUSI" correspond concrètement à un article.

    Si vous pouviez m'éclairer un peu sur le sujet... Merci

  2. #2
    Membre éprouvé Avatar de chewing-gum
    Homme Profil pro
    Développeur Java
    Inscrit en
    Novembre 2009
    Messages
    105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Novembre 2009
    Messages : 105
    Par défaut
    Résolu.

    J'ai réglé mon problème en retournant une liste de chaînes de caractères lorsque ma fonction est appelé par JQuery.

    En effet, Jquery n'arrivait pas (uniquement dans mon cas) à lire ma liste d'objets de type "Object" (ou autre), mais arrive seulement à lire une liste contenant des objets de type "string".

    Sinon, il faut procéder autrement et itérer sur une liste d'objets avec JQuery.

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

Discussions similaires

  1. [AC-2000] Affichage de plusieurs champ dans un liste déroulante
    Par Flow56 dans le forum IHM
    Réponses: 7
    Dernier message: 23/07/2018, 18h04
  2. copier plusieurs champs dans une boucle php avec javascript
    Par groskanel dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 05/08/2010, 14h47
  3. Plusieurs champs dans une liste déroulante
    Par Vincinho dans le forum Langage SQL
    Réponses: 8
    Dernier message: 02/12/2009, 14h10
  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. Ramener plusieurs champs dans une sous requête...
    Par David.V dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 12/01/2005, 07h54

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