J'utilise le plugin jQuery Select2 afin de récupérer les codes postaux en utilisant la condition fonction de rappel ajax comme suit:L'utilisation correcte du rappel initSelection jQuery select2 avec des données à distance
$(document).ready(function() {
$("#postcodes").select2({
placeholder : "Search for a postcode",
multiple : true,
minimumInputLength : 3,
ajax : {
url : "/bignibou/utils/findGeolocationPostcodeByPostcodeStartingWith.json",
dataType : 'json',
data : function(term) {
return {
postcode : term
};
},
results : function(data) {
console.log(data);
return {
results : $.map(data, function(item) {
return {
id : item.id,
text : item.postcode
};
})
};
}
}
});
});
Une fois que deux codes postaux sont sélectionnés je suis le résultat hidden input
en DOM:
<input type="hidden" class="bigdrop select2-offscreen" id="postcodes" style="width:600px" name="familyAdvertisement.postcodes" value="4797,4798" tabindex="-1">
la question que j'ai est qu'une fois que le formulaire est réaffichée (par exemple en cas de certaines autres mesures de contrôle dans l'erreur), les sélections (à savoir les deux codes postaux et en particulier le text
) d n'apparaissent pas dans la forme bien que le hidden input
ait les deux valeurs (c.-à-d. 4797 et 4798, qui sont les id
s pour le code postal). Je ne suis pas sûr si je dois faire un autre voyage aller-retour d'ajax quand le formulaire est réaffiché ou s'il y a une meilleure manière d'aller.
Quelqu'un peut-il vous conseiller?
Merci pour la réponse. Umm ... Le problème que j'ai est qu'une fois que le formulaire a été soumis et est réaffiché (parce qu'un autre champ est par erreur par exemple), j'ai perdu la variable 'text' (elle est toujours du côté serveur). .). Voyez-vous mon point? – balteo
Pourquoi cela ne fonctionne-t-il pas lorsque multiple est défini sur false? Bien sûr, vous n'utiliserez qu'un objet de données, etc. – HGPB
Devez-vous demander à nouveau les valeurs à la fin? – Sebastialonso