Io uso jQuery select2 plug-in al fine di recuperare i codici postali utilizzando la funzione di callback ajax prevedeva quanto segue:utilizzo corretto dei initSelection callback jQuery select2 con dati remoti
$(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
};
})
};
}
}
});
});
una volta due codici postali vengono selezionati ho la conseguente hidden input
in DOM:
<input type="hidden" class="bigdrop select2-offscreen" id="postcodes" style="width:600px" name="familyAdvertisement.postcodes" value="4797,4798" tabindex="-1">
il problema che ho è che una volta che il modulo è nuovamente visualizzato (ad esempio nel caso di alcuni altri controlli essendo in errore), le selezioni (cioè i due codici postali e soprattutto la text
) d non viene mostrato nel modulo sebbene lo hidden input
abbia i due valori (ad es. 4797 e 4798, che sono i id
s per il codice postale).
Non sono sicuro di dover eseguire un altro round di andata ajax quando il modulo viene visualizzato di nuovo o se c'è un modo migliore per andare.
Qualcuno può consigliare?
Grazie per la risposta. Umm ... Il problema che ho è che una volta che il modulo è stato inviato e viene nuovamente visualizzato (a causa di un altro campo in errore, ad esempio), ho perso la variabile 'text' (è ancora sul lato server). .). Capisci cosa intendo? – balteo
perché questo non funziona quando multiplo in set su falso? Ovviamente useresti solo un oggetto dati, ecc. – HGPB
Devi richiedere nuovamente i valori alla fine? – Sebastialonso