Jquery - Instanciation impossible pour autocomplete
Résolu
ephelya
Messages postés
296
Statut
Membre
-
ephelya Messages postés 296 Statut Membre -
ephelya Messages postés 296 Statut Membre -
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 ?
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 ! :-)
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
A voir également:
- Jquery - Instanciation impossible pour autocomplete
- Jquery refresh dom ✓ - Forum Javascript
- Probleme de cohabitation de jquery - Forum Javascript
- Afficher et cacher en jquery ✓ - Forum Javascript
- La faille csrf en jquery ? - Forum Javascript
- Problème requête Ajax avec jquery ✓ - Forum Webmastering
3 réponses
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/
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/
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 ! :)
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 ! :)