Select2 préchargé balises dans Select2 zone de saisie
J'ai un Select2 d'entrée qui fonctionne très bien. L'utilisateur peut commencer à taper et sélectionnez une option dans le menu déroulant, et il ajoute une balise dans le champ de saisie, ils peuvent également créer leurs propres étiquettes grâce à la createSearchChoice
fonction.
Mon scénario, c'est quand l'utilisateur tape le nom d'un client qui existe déjà, il bloque sur, et je veux qu'il à remplir le champ avec des balises (fournisseurs habituels). L'utilisateur peut ensuite supprimer ou ajouter des balises supplémentaires si vous le souhaitez.
Mon code est:
$('#usualSuppliers').select2({
containerCssClass: 'supplierTags',
placeholder: "Usual suppliers...",
minimumInputLength: 2,
multiple: true,
placeholder: 'Usual suppliers...',
createSearchChoice: function(term, data) {
if ($(data).filter(function() {
return this.name.localeCompare(term) === 0;
}).length === 0) {
return {id: 0, name: term};
}
},
id: function(e) {
return e.id + ":" + e.name;
},
ajax: {
url: ROOT + 'Ajax',
dataType: 'json',
type: 'POST',
data: function(term, page) {
return {
call: 'Record->supplierHelper',
q: term
};
},
results: function(data, page) {
return {
results: data.suppliers
};
}
},
formatResult: formatResult,
formatSelection: formatSelection,
initSelection: function(element, callback) {
var data = [];
$(element.val().split(",")).each(function(i) {
var item = this.split(':');
data.push({
id: item[0],
title: item[1]
});
});
//$(element).val('');
callback(data);
}
});
Comment puis-je faire de pré-remplir à l'entrée avec des balises qui viennent dans une requête Ajax?
OriginalL'auteur imperium2335 | 2013-11-22
Vous devez vous connecter pour publier un commentaire.
J'ai réussi à résoudre le problème grâce à ce post:
Les valeurs de charge dans select2 multiselect
Par l'aide de la gâchette.
OriginalL'auteur imperium2335