Verstehen und Implementieren der automatischen Vervollständigung von jQuery mit AJAX-Quelle und AppendTo
Unten ist mein Versuch zu bekommenappendTo
zur Arbeit mit jQuery Autocomplete mit AJAX-Quelle.
Ich habe mehrere Fragen, die hoffentlich vielen anderen helfen werden, die Schwierigkeiten haben, die richtige Art der Implementierung von Autocomplete mit und AJAX-Quelle zu verstehen.
1)source: function(request, response) {...}
Was macht das? Warum wird es gebraucht?
2) Welches Format machtfunction(data){ response($.map (data, function(obj) {
Daten zurücksenden in? Mir ist klar, dass die Daten im JSON-Format vorliegen, aber worum geht es.map
? Ist das notwendig? Gibt es Vorteile?
3a) Bei VerwendungappendTo
undrenderItem
ist es notwendig, die oben genannten zu habensuccess
Daten zurückgegeben?
3b) Wie können Sie entweder oder abhängig von den obigen Daten appendTo und renderItem richtig verwenden, um die Formatierung und Anzeige Ihrer abgerufenen Werte zu ändern?
$(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 );
};
});
Dies mag eine Menge zu beantworten scheinen, aber ich bin sicher, es wird für viele Javascript-Neulinge und sicherlich für mich selbst wertvoll sein.