A continuación, mi intento de obtener appendTo
para trabajar con jQuery autocompletar con fuente AJAX.Comprender e implementar jQuery autocompletar con AJAX source y appendTo
Tengo varias preguntas, que esperamos ayuden a muchas otras personas que están luchando por comprender la forma correcta de implementar la autocompleta con fuente AJAX.
1) source: function(request, response) {...}
¿Qué significa esto? Por qué es necesario
2) ¿En qué formato devuelve los datos function(data){ response($.map (data, function(obj) {
? Me doy cuenta de que los datos están en formato JSON, pero ¿cuál es el objetivo de .map
? ¿Es necesario hacer esto? ¿Hay beneficios?
3a) Cuando se usan appendTo
y renderItem
, ¿es necesario que se devuelvan los datos success
antes mencionados?
3b) ¿O bien, dependiendo de los datos anteriores, cómo usa correctamente appendTo y renderItem para cambiar el formato y la visualización de los 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 que responder, pero estoy seguro de que será valioso para muchos novatos de Javascript y ciertamente para mí.
Gracias, esto es muy informativo. –
Gracias :) ¡salvó mi día! –
Gracias por este fragmento. Tenga en cuenta que falta una coma (,) después de la descripción: obj.description – Danilo