Potrzebuję wykonać następujące czynności, używając combobox.Jak korzystać z combobox autouzupełniania jQuery z danymi AJAX JSON?
Select box
ma domyślną listę miast, z których użytkownik może wyszukiwać.- Jeśli użytkownik wpisze tekst w polu
input
, muszę wykonać wywołanie ajax, aby pobrać dane i wyświetlić opcje dla użytkownika. - Jeśli dane były pobierane na żądanie użytkownika, te miasta powinny być dołączone do opcji
Select box
Korzystanie jQuery autocomplete jestem w stanie pobrać dane json Po wejściu ciąg i wyświetlania wyników użytkownika. Nie mam pojęcia, jak to zintegrować za pomocą combobox.
Combobox używa statycznej tablicy danych do wyszukiwania i jeśli rozumiem to poprawnie, używa wyrażeń regularnych do dopasowywania wartości. Jak jednak go przerwać i używa wywołania ajax, aby pobrać dane z serwera i zaktualizować wyniki?
autouzupełnianie na polu wejściowym:
$("#searchDestination").autocomplete({
delay: 500,
source: function(request, response) {
$.ajax({
url: "/wah/destinationsJson.action",
dataType: "json",
data: {
term: request.term
},
type: "POST",
success: function(data){
if(data.cities.length == 0)
return response(["No matching cities found for " + request.term]);
response($.map(data.cities, function(item){
return{
label: item.name,
value: item.name
};
})
);
}
});
},
minLength: 2
});
});
Jak wyglądają dane źródłowe autouzupełniania? –
@ltiong_sh Moje autouzupełnianie dla prostego pola tekstowego wejściowego działa dobrze z JSON. (zaktualizowałam moją odpowiedź) – brainydexter
kiedy mówisz, że pobrana lista powinna być dołączona do domyślnej listy, czy to oznacza, że domyślne elementy zawsze będą widoczne, czy też będą filtrowane ... na podstawie danych wprowadzanych przez użytkownika? –