Ich benutze jQuery Select2-Plugin, um Postleitzahlen mit der mitgelieferten Ajax-Callback-Funktion abgerufen wird, wie folgt:Gemäßer Gebrauch von initSelection Rückruf jQuery select2 mit Remote-Daten
$(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
};
})
};
}
}
});
});
Nach zwei Postleitzahlen sind habe ich die resultierend hidden input
in erhalten das DOM:
<input type="hidden" class="bigdrop select2-offscreen" id="postcodes" style="width:600px" name="familyAdvertisement.postcodes" value="4797,4798" tabindex="-1">
das Problem, das ich habe, ist, dass, sobald die Form (zum Beispiel im Fall von einigen anderen Kontrollen fehlerhaft sind) erneut angezeigt wird, wird die Auswahlen (dh die beiden Postleitzahlen und vor allem der text
) d on't in der Form zeigen, obwohl die hidden input
hat die beiden Werte (d. h. 4797 und 4798, die die id
s für die Postleitzahl sind).
Ich bin mir nicht sicher, ob ich eine weitere Ajax-Rundreise machen muss, wenn das Formular erneut angezeigt wird oder ob es einen besseren Weg gibt.
Kann jemand bitte beraten?
Danke für die Antwort. Umm ... Das Problem, das ich habe, ist, dass, sobald das Formular eingereicht und erneut angezeigt wird (weil ein anderes Feld zum Beispiel fehlerhaft ist), ich die Variable 'text' verloren habe (sie ist immer noch auf der Server-Seite .. .). Siehst du meinen Standpunkt? – balteo
warum funktioniert das nicht, wenn multiple in false gesetzt ist? Natürlich würden Sie nur ein Datenobjekt usw. verwenden. – HGPB
Müssen Sie die Werte am Ende noch einmal erfragen? – Sebastialonso