Пример автозаполнения текстового поля в python + Google app engine - PullRequest
6 голосов
/ 09 мая 2011

Для моего приложения Google App Engine мне нужно включить текстовое поле автозаполнения, в котором будет отображаться имя, начинающееся со значения текстового поля. И имя будет получено из хранилища данных механизма приложений Google.

Любой хороший учебник или пример кода, пожалуйста.

Обновление: пожалуйста, ответьте за это

Я создал образец HTML-кода: dl.dropbox.com / u / 7384181 / autocomplete / autocomplete.html . На этой html-странице я создаю текстовое поле динамически. Поэтому в настоящее время я назначаю автозаполнение только в первом текстовом поле (txtProduct1). Как назначить автозаполнение в покое все текстовое поле, которое будет создаваться динамически?

Ответы [ 3 ]

8 голосов
/ 09 мая 2011

Вы можете посмотреть на jquery auto complete здесь

HTML:

$("#search_users").autocomplete(/search/search_manager);

python-controller :

Плагин автозаполнения jquery по умолчанию использует переменную q

class search_user(webapp.RequestHandler):
            q = (self.request.GET['q']).lower() 
            results=models.user.all().fetch(100) 
            for records in result:
                print records+"|"+records+"\n"

application = webapp.WSGIApplication([
                                      (r'/user_auth/search_manager',search_user)]

def main():
  run_wsgi_app(application)

if __name__ == '__main__':
  main()

simple:

Применить автозаполнение к классу $

(".search_users").autocomplete(/search/search_manager);
2 голосов
/ 09 мая 2011

Посмотрите на плагин JQuery autocomplete , вы можете использовать тег шаблона django для заполнения данных.Ниже приведен пример, если ваши данные разделены запятыми.

Python:

names=[name for name in db.GqlQuery("SELECT * FROM names")]
values={'names':','.join(names)}
self.response.out.write(template.render('template.html',values))

template.html:

var data = "{{names}}".split(",");
$("#example").autocomplete(data);
0 голосов
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...