używam jQuery select2 wtyczki w celu pobrania kodu pocztowego za pomocą dostarczonego funkcji zwrotnej ajax w następujący sposób:Prawidłowe wykorzystanie jQuery select2 za initSelection zwrotnego z danymi odległych
$(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
};
})
};
}
}
});
});
Raz dwa kody pocztowe są wybrane zostanę otrzymany hidden input
w DOM:
<input type="hidden" class="bigdrop select2-offscreen" id="postcodes" style="width:600px" name="familyAdvertisement.postcodes" value="4797,4798" tabindex="-1">
problem mam to, że gdy formularz zostanie ponownie wyświetlony (na przykład w przypadku niektórych innych kontroli będących w błąd), pozycje (czyli dwa kody pocztowe, a zwłaszcza text
) d nie wyświetlają się w formie, chociaż hidden input
ma dwie wartości (tj. 4797 i 4798, które są id
s dla kodu pocztowego).
Nie jestem pewien, czy muszę wykonać kolejną podróż w formacie ajax, gdy formularz zostanie wyświetlony ponownie lub czy jest lepszy sposób.
Czy ktoś może doradzić?
Dzięki za odpowiedź. Umm ... Problem polega na tym, że po przesłaniu formularza i ponownym wyświetleniu (z powodu innego błędnego pola), straciłem zmienną 'text' (nadal jest po stronie serwera). .). Czy widzisz mój punkt widzenia? – balteo
dlaczego to nie działa, gdy wiele w zestawie do fałszu? Oczywiście używałbyś tylko jednego obiektu danych itp. – HGPB
Czy na końcu musisz ponownie podać wartości? – Sebastialonso