Я должен быть толстым, потому что я не могу на всю жизнь заставить работать автозаполнение jQuery. Я искал много примеров, и кажется, что большинство из них используют более старую версию jQuery. Я нашел один довольно хороший пример непосредственно с сайта пользовательского интерфейса jQuery: http://jqueryui.com/demos/autocomplete/#remote-jsonp Так что я смоделировал мой после этого примера. Когда я печатаю в поле ввода, под полем ввода появляется маленькое окно автозаполнения, но в поле автозаполнения ничего нет. Мои данные неправильно загружаются с помощью jQuery.
Мой источник данных - это URL, который возвращает данные JSON. Пример: [{"pk": 1, "model": "concierge.location", "fields": {"online": false, "link": "", "email": "", "address": "TBA"}}, {"pk": 2, "model": "concierge.location", "fields": {"online": false, "link": "", "email": "", "address": "UB 2008"}}]
Мой код Javascript:
$(document).ready(function() {
$("input#id_location_address").autocomplete({
max: 10,
source: function(request, response) {
$.ajax({
url: "/concierge/autocomplete/locations/",
dataType: "json",
data: request,
success: function( data ) {
console.log( data )
response( data, function(item) {
return { label: item.address, value: item.address }
});
}
});
}
});
});
Так что когда я console.log(data)
в Firebug, он показывает объект со всеми данными в такте. Я думаю, что я не обращаюсь к «адресу» должным образом в моем коде Javascript. Видите ли, я просто хочу, чтобы «адрес» всплывал в окне автозаполнения. Как мне это сделать?
Заранее спасибо,
Chris