Jquery - Instanciation impossible pour autocomplete

Résolu/Fermé
ephelya Messages postés 289 Date d'inscription mercredi 28 septembre 2011 Statut Membre Dernière intervention 20 juin 2023 - 28 févr. 2022 à 21:07
ephelya Messages postés 289 Date d'inscription mercredi 28 septembre 2011 Statut Membre Dernière intervention 20 juin 2023 - 1 mars 2022 à 14:06
Bonjour,
Je cherche à proposer une saisie semi-automatique dans un champ input à partir des enregistrements de la bdd.
Avec ce code, je récupère bien tous mes enregistrements ("ok bdd etc") par contre ça ne les retourne pas pour le scipt autocomplete ("ok function undefined").
Qu'est-ce que j'ai mal fait, svp ?

function  getacteurs(){
    $.ajax({ 
    type: "POST",
    dataType: 'json',
    url: "ajx/ajax.php", 
    data: {getacteurs: 1, debug:0},
    error : function(x,err){
            alert(err);
        },
    success: function(data){
        var acteurs = [];
        $(data).each(function (a,b) {
            acteurs.push(b.nom);
        });
        console.log("ok bdd "+acteurs);
        return acteurs;
    }
    });
}


 $( function(){
        var acteurs = getacteurs();
        console.log("ok function "+acteurs);

        $( "#acteur" ).autocomplete({
        source: acteurs
        });
        
} );

Je précise au cas où que lorsque j'ajoute les enregistrements dans le script manuellement au lieu de les récupérer en ajax, ça fonctionne nickel.
Merci d'avance pour votre aide ! :-)

Configuration: Macintosh / Firefox 96.0

3 réponses

jordane45 Messages postés 38136 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 avril 2024 4 649
28 févr. 2022 à 23:07
Bonjour,

Deux choses ...
1 - L'ajax est asynchrone ...
Donc lorsque tu fais ton console.log .. les données ne sont pas encore présentes ... A la limite, tu peux la force en "synchrone" .. mais le mieux c'est de regarder le point N°2

2 - L'autocomplete dispose, au niveau de sa "méthode" source, directement ce qu'il faut pour y utiliser l'ajax..

par exemple :
https://makitweb.com/jquery-ui-autocomplete-with-php-and-ajax/

0
ephelya Messages postés 289 Date d'inscription mercredi 28 septembre 2011 Statut Membre Dernière intervention 20 juin 2023 2
1 mars 2022 à 14:02
Ben oui... Merci pour ton aide, je me doutais bien quil y avait un pb de chronologie mais j'étais fatiguée et je tournais autour du pot... ;-)
Du coup j"ai réglé le pb en chargeant la liste en php dans la page. Pas super propre, je sais, mais c'est pour un ultil perso et je n'ai pas le temps d'aller voir autocomplete de plus près.... :)
Merci ! :)
0
ephelya Messages postés 289 Date d'inscription mercredi 28 septembre 2011 Statut Membre Dernière intervention 20 juin 2023 2
1 mars 2022 à 14:06
je n’arrive pas à mettre le sujet en statut réglé, je ne trouve pas le bouton. Je peux te laisser t'en charger stp ?
0