Comprensión e implementación de autocompletado de jQuery con AJAX source y appendTo
A continuación se muestra mi intento de conseguirappendTo
para trabajar con jQuery autocompletar con fuente AJAX.
Tengo varias preguntas, que espero que ayuden a muchos otros que tienen dificultades para entender la forma correcta de implementar el autocompletado con una fuente AJAX.
1)source: function(request, response) {...}
¿Qué hace esto? ¿Por qué es necesario?
2) que formato tienefunction(data){ response($.map (data, function(obj) {
devolver los datos en? Me doy cuenta de que los datos están en formato JSON, pero ¿cuál es el punto de.map
? ¿Es necesario hacer esto? ¿Hay beneficios?
3a) Al usarappendTo
yrenderItem
, ¿es necesario contar con lo anterior?success
datos devueltos?
3b) O bien, o según los datos anteriores, ¿cómo utiliza correctamente appendTo y renderItem para cambiar el formato y la visualización de sus valores recuperados?
$(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 );
};
});
Esto puede parecer mucho para responder, pero estoy seguro de que será valioso para muchos novatos en javascript y, ciertamente, yo mismo.