繁体   English   中英

jQuery ui自动完成结果未显示在html下拉列表中

[英]jquery ui autocomplete results doesn't show in html dropdown

这是我的django视图ajax请求功能:

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和所有设置都很好。

我的自动填充是这样的:

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

但是,您可以从下面的图像中看到,尽管返回了结果并且可以从请求中获得结果,但结果不会显示在下拉列表中。 根据下图输入框中输入的键,我得到的结果是: [{"name": "Densuano"}]

那是什么问题呢? 为什么没有显示下拉列表?

在此处输入图片说明

我想通了:

name_json['name'] = name.name

是罪魁祸首。 上面是一个关键的值列表,它是自动完成的,以某种方式无法解释。 我改为

name_json = name.name

而且有效。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM