Zrozumienie i wdrożenie autouzupełniania jQuery ze źródłem AJAX i appendTo
Poniżej znajduje się moja próba zdobyciaappendTo
do pracy z autouzupełnianiem jQuery ze źródłem AJAX.
Mam wiele pytań, które, mam nadzieję, pomogą wielu innym, którzy borykają się ze zrozumieniem właściwego sposobu implementacji autouzupełniania ze źródłem AJAX.
1)source: function(request, response) {...}
Co to robi? Dlaczego jest to potrzebne.
2) W jakim formaciefunction(data){ response($.map (data, function(obj) {
zwrócić dane? Zdaję sobie sprawę, że dane są w formacie JSON, ale o co chodzi.map
? Czy to konieczne? Czy są jakieś korzyści?
3a) Podczas korzystaniaappendTo
irenderItem
, czy konieczne jest posiadanie wyżej wymienionychsuccess
zwrócono dane?
3b) Jak lub, w zależności od powyższych danych, jak prawidłowo używać appendTo i renderItem, aby zmienić formatowanie i wyświetlanie pobranych wartości?
$(function() {
$( ".find_group_ac" ).autocomplete({
minLength: 1,
source: function(request, response) {
$.ajax({
url: "welcome/search/",
data: { term: $(".find_group_ac").val()},
dataType: "json",
type: "POST",
success: function(data){ response($.map
(data, function(obj) {
return {
label: obj.name + ': ' + obj.description,
value: obj.name,
id: obj.name
};}));}
});
}
}).data( "autocomplete" )._renderItem = function( ul, item ) {
return $( "<li></li>" )
.data( "item.autocomplete", item )
.append( "<a>" + item.label + "<br>" + item.desc + "</a>" )
.appendTo( ul );
};
});
To może wydawać się dużo do odpowiedzi, ale jestem pewien, że będzie cenne dla wielu początkujących javascript, a już na pewno dla mnie.