Téléchargement de données pour la suggestion de liste déroulante dans Sélectionner

J’ai une entrée de texte que j’ai sélectionnée comme balises qui fonctionne bien. Je peux créer de nouveaux éléments et ils sont affichés correctement.

Je veux télécharger des données à distance dans le menu déroulant pour les suggérer, comme sur Google. J’ai suivi la documentation mais le JSON qui est retourné par ajax n’est pas indiqué dans la liste déroulante. L’appel ajax a réussi puisque ma console affiche ce json retourné:

["New York", "New Jersey", "New Mexico", "New Hampshire"] 

Il y a juste le: “Ajouter nouveau … ” dans la liste déroulante.

Ceci est mon code avec selectize:

  $(function() { $('.offerInput').selectize ({ delimiter: '♥', plugins: ['remove_button'], valueField: 'value', labelField: 'value', searchField: 'value', openOnFocus: true, options: [], create: function(input) { return { value: input, text: input } }, render: { option: function (item, escape) { console.log(item); return '
' + escape(item.value) + '
'; } }, load: function (query, callback) { if (!query.length) return callback(); $.ajax({ url: '/as/' + query, type: 'GET', dataType: 'json', error: function () { callback(); }, success: function (res) { console.log(res); callback(res); } }); } }) });

et voici mon champ d’entrée:

  

Des idées ce qui ne va pas? Merci de votre aide!

Votre question que votre service retourne ["New York", "New Jersey", "New Mexico", "New Hampshire"]

Mais votre fonction de render recherche une propriété de value :

 render: { option: function (item, escape) { console.log(item); return '
' + escape(item.value) + '
'; } }

Vous devez soit changer votre service pour renvoyer des valeurs:

[{"value":"New York"},{"value":"New Jersey"},{"value":"New Mexico"},{"value":"New Hampshire"}]

Ou changez votre rendu pour utiliser l’élément:

return '

' + escape(item) + '

';