jQuery用户界面自动完成的结果并不在HTML下拉列表显示 [英] jquery ui autocomplete results doesn't show in html dropdown

查看:247
本文介绍了jQuery用户界面自动完成的结果并不在HTML下拉列表显示的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这是我的Django认为Ajax请求的功能:

This is my django view ajax request function:

def get_town(request):
    if request.is_ajax():
        q = request.GET.get('term', '')
        towns = Town.objects.filter(name__icontains=q)
        results = []
        for name in towns:
            name_json = {}
            name_json['name'] = name.name
            results.append(name_json)
        data = json.dumps(results)
    else:
        data = 'fail'
    mimetype = 'application/json'
    return HttpResponse(data, mimetype)

网址,一切都设置得很好。

Urls and everything setup nicely.

我的自动完成是这样的:

My autocomplete is this:

$(function() {
  $("#id_town").autocomplete({
    source: "/api/get_town/",
    minLength: 3,
  });
});

不过,你可以看到从图像下方的结果,虽然从请求返回和使用,不会在下拉列表中显示。按照下面的图像中输入框中输入的按键,我得到的结果是这样的: [{名:Densuano}]

这是什么问题呢?为什么没有下拉显示?

What's the problem then? Why isn't the dropdown showing?

输入图像的描述在这里

推荐答案

我想通了:

name_json['name'] = name.name

是罪魁祸首。以上是做一个键,值列表,它自动完成,不知何故不能跨preT。我改成

was the culprit. The above was making a key, value list which the autocomplete, somehow couldn't interpret. I changed to

name_json = name.name

和它的工作。

这篇关于jQuery用户界面自动完成的结果并不在HTML下拉列表显示的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆