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 :

plugin Autocomplete, incompréhension


Sujet :

jQuery

  1. #1
    Membre averti
    Inscrit en
    Août 2010
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 45
    Par défaut plugin Autocomplete, incompréhension
    Bonjour pour utiliser l'autocomplete je fais de cette facon

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    var data = "Core Selectors Attributes Traversing Manipulation CSS Events Effects".split(" ");
                                alert(3);
                                $("#SocietySearch").autocomplete(data);

    Cependant si je retire ou commente le alert ca ne marche pas?
    Je ne vois pas pourquoi?

    Merci d'avance.

  2. #2
    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
    Billets dans le blog
    125
    Par défaut
    Bonjour

    L'extrait de code est bref, mais en voyant "data" je pense à une transaction AJAX qui est asynchrone par défaut. Donc votre autocomplete(data) à lieu avec un data incohérent. Vous devez placez autocomplete (data) dans la fonction qui traite la requête AJAX.

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

  3. #3
    Membre averti
    Inscrit en
    Août 2010
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 45
    Par défaut
    Merci de la réponse.
    J'ai changé la place de mon appel de ce plugin.
    Cependant rien n'a changé .
    En effet l'autocompletion ne marche que si je mets un alert.

  4. #4
    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
    Billets dans le blog
    125
    Par défaut
    Avec un plus de code, il serait plus facile d'examiner le problème.

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

  5. #5
    Membre averti
    Inscrit en
    Août 2010
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 45
    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
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    function AsyncLookUp(element) {
                    var httpRequest;
                    var val;
                    var strsend;
     
                    if (window.XMLHttpRequest) {
                        httpRequest = new XMLHttpRequest();
                    }
                    else if (window.ActiveXObject) { // IE
                        try {
                            httpRequest = new ActiveXObject("MSXML2.XMLHTTP");
                        }
                        catch (e) {
                            try {
                                httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
                            }
                            catch (e) { }
                        }
                    }
     
                    if (!httpRequest) {
                        alert("Impossible d'initialiser AJAX, vous ne pouvez pas utiliser ce service");
                        return false;
                    }
                    httpRequest.onreadystatechange = function () { AsyncLookBack(httpRequest, element); };
     
                    httpRequest.open('POST', "FormBtoB_async.aspx", true);
                    httpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded;charset=iso-8859-1');
                    val = document.getElementById(element).value;
                    strsend = "type=" + element;
     
     
                    //pour tout envoyer
                    if (element != "") {
                        var val_cdp = document.getElementById("CdpDptVlle").value;
                        var val_Society = document.getElementById("SocietySearch").value;
     
                        strsend = "&val=" + val_cdp;
                        strsend += "&type=" + val_Society;
                        //alert(strsend);
                        httpRequest.send(strsend);                        
     
                    }
     
                }
     
                function AsyncLookBack(httpRequest, element) {
     
                    if (httpRequest.readyState == 4) {
                        if (httpRequest.status == 200) {
                            if (document.getElementById(element).value != "") {
     
                                var data = "Core Selectors Attributes Traversing Manipulation CSS Events Effects".split(" ");
     
                                $("#SocietySearch").autocomplete(data);                    
     
                                //document.getElementById(element + "_suggestlist").innerHTML = httpRequest.responseText;
                            }
                            else {
                                //document.getElementById(element + "_suggestlist").style.display = "none";
     
                            }
                        } else {
                            alert("Le serveur a rencontré un problème");
                        }
                    }
                }

    En fait la première fonction gère l'ajax et la deuxième fonction ce que je récupère grâce à ajax.

    Merci d'avance.

  6. #6
    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
    Billets dans le blog
    125
    Par défaut
    Je crois que je suis parti sur une fausse piste en voyant "data" et en étant trop pressé.

    Si vous utilisez UI Autocomplete, c'est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    var data = "Core Selectors Attributes Traversing Manipulation CSS Events Effects".split(" ");
     
    $("#SocietySearch").autocomplete({
    	source: data
    });

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

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

Discussions similaires

  1. [JavaScript] plugin jquery : liste modifiable (combo) autocompletée
    Par medkarim dans le forum Contribuez
    Réponses: 3
    Dernier message: 15/03/2014, 23h46
  2. Réponses: 1
    Dernier message: 14/09/2011, 15h27
  3. plugin autocomplete, cache impossible à vider
    Par powereborn dans le forum jQuery
    Réponses: 2
    Dernier message: 03/09/2011, 10h51
  4. Plugin Autocomplete Jquery sous IE
    Par Pataglacon dans le forum jQuery
    Réponses: 2
    Dernier message: 14/06/2011, 17h31
  5. plugin winamp
    Par darkfrag dans le forum API, COM et SDKs
    Réponses: 7
    Dernier message: 03/08/2002, 10h34

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