L'ajout de “données” attributs avec select2
J'ai vu beaucoup d'exemples de Select2
option tags set avec "données" attributs et j'aimerais le faire.
Je suis en utilisant ajax pour obtenir les données. Je reçois le ID
et la TEXT
nécessaires à la construction de la sélectionner.
Mais comment puis-je ajouter des attributs supplémentaires?
Je ne l'ai pas trouver le moyen de les ajouter.
$(element).select2({
placeholder: 'Select one...',
width: '100%',
minimumInputLength: 2,
ajax: {
url: '/my/url',
dataType: 'json',
data: function(params) {
return {
q: params.term,
page: params.page
};
},
processResults: function(data, page) {
console.log(data);
return {
results: data
};
},
cache: true
}
});
Si possible vous poster le code..
Je viens de faire il
Je viens de faire il
OriginalL'auteur Victor Leal | 2015-11-26
Vous devez vous connecter pour publier un commentaire.
Cette solution s'applique à Choisir 2 versions 4.0 ou supérieur.
En supposant que les attributs de votre parler sont chargés dans le tableau de votre retour dans processResults. Par exemple, si vous sélectionnez un album de ce genre ("id": 1, "texte": "certains de texte','custom_attribute':'bonjour le monde!')
Puis sur un événement de changement que vous pouvez faire:
Espère que cela aide..
Quel est l'élément que vous ciblez avec $('#sélecteur')? Est censé être le select2 déroulante? Ou la select2 "option" dans la liste déroulante? Quelque chose d'autre?
il doit être déroulante. Vous n'avez pas beaucoup d'options pour essayer. BTW. Merci Jeffrey. Je n'ai aucune idée de comment vous l'avez trouver, mais c'est ce que je cherchais...
Notez que dans l'événement de changement de
var data=$(this).select2('data')[0];
obtenez la valeur pour l'option sélectionnée, c'est à diredata.role
si vous aviez que la propriété de votre objet sourcePour clarifier, l'indice de l'élément sélectionné (ce) serait
var ind = $(this).index(); var data=$(this).select2('data')[ind];
OriginalL'auteur Jeffrey - Humanized