Недавно я что-то сделал с jQuery.autocomplete с одной моделью.
функциональность поиска города, когда пользователь начинает писать название:
в соответствии с документами jqueryui, чтобы заставить работать автозаполнение, вам нужен такой ввод:
<input id="n" type="text" name="n"/>
Итак, javascript в моем шаблоне для подключения библиотеки к этому входу выглядит так:
$(document).ready(function(){
$( "input#n" ).autocomplete({
source: "{% url autocomplete_city %}",
minLength: 2
});
});
чтобы разрешить этот URL-адрес, вы должны написать что-то подобное в своем urls.py
urlpatterns = patterns('cities.views',
url(r'^autocomplete_city/$', 'autocomplete_city', name='autocomplete_city'),
)
это означает, что у меня есть что-то вроде представления city.views.autocomplete_city:
def autocomplete_city(request):
term = request.GET.get('term') #jquery-ui.autocomplete parameter
cities = City.objects.filter(name__istartswith=term) #lookup for a city
res = []
for c in cities:
#make dict with the metadatas that jquery-ui.autocomple needs (the documentation is your friend)
dict = {'id':c.id, 'label':c.__unicode__(), 'value':c.__unicode__()}
res.append(dict)
return HttpResponse(simplejson.dumps(res))
что тебе еще нужно? начните тестирование и помните, что ДОКУМЕНТАЦИЯ — ВАШ ДРУГ ПОПРОБУЙТЕ сначала сделать что-то для себя, погуглите, прочитайте документацию, попробуйте 3 раза, если не получается, stackoverflow — ваш друг.
person
panchicore
schedule
12.02.2011