Remplir Select2 avec AJAX données
Je suis en utilisant Select2 4.0.0-rc.2.
La Options de la page les états suivants à propos de initSelection
Dans le passé, Select2 requis une option appelée
initSelection
qui a été défini à chaque fois qu'une source de données personnalisée a été utilisé, permettant pour la première sélection pour le composant à être déterminé. Ceci a été remplacé par lecurrent
méthode sur la adaptateur de données.
Je n'ai trouvé que des exemples pour les anciennes versions de Select2 qui utilisent initSelection
(voir Définition des valeurs initiales de la charge avec Select2 avec Ajax)
Comment puis-je charger des données par défaut avec adaptateur de données?
voici mon code initial (est twig)
$("#{{ id }}").select2({
ajax: {
url: "{{ path(attr.path) }}",
dataType: 'json',
{% if attr.placeholder is defined %}
placeholder: '{{ attr.placeholder }}',
{% endif %}
delay: 250,
data: function (term) {
return term;
},
processResults: function (data) {
return {results: data};
}
},
templateResult: function(data){
return '<img width="30" src="'+data.image+'">'+data.text;
},
templateSelection: function(data){
return '<img width="30" src="'+data.image+'">'+data.text;
},
cache: true,
escapeMarkup: function (markup) { return markup; }, //let our custom formatter work
minimumInputLength: 2
});
Si c'est possible je veux installation toujours visible options et ont ajax autres,
Vous devez vous connecter pour publier un commentaire.
Vous avez une explication détaillée sur leurs docs. Si vous avez seulement besoin de charger vos données une fois que vous pouvez le faire en utilisant le code suivant (qui a été dépouillés de leurs docs page):
ci-dessus, sélectionnez-je faire comme ceci:
répondre à partir du serveur est: est-ce
Comme une continuation de Milz de réponse, je dirais que vous devez ajouter une valeur vide à la fin sinon la dernière valeur ne sera jamais sélectionné.
Peut-être il ya une autre façon de le faire, mais cela a fonctionné pour moi.