我想用django在我的网页上实现自动完成功能。我继续使用jquery autocomplete,它有足够的文档说明如何实现它。我对django视图和url也做了相应的更改。我仍然无法在自动完成功能中查看任何条目。在
下面是一些代码片段,它们可以清楚地说明我是如何实现它的
我的网页.html
<link rel="stylesheet" href="http://code.jquery.com/ui/1.11.1/themes/smoothness/jquery-ui.css">
<script src="http://code.jquery.com/jquery-1.10.2.js"></script>
<script src="http://code.jquery.com/ui/1.11.1/jquery-ui.js"></script>
<link rel="stylesheet" href="/resources/demos/style.css">
...
...
<script>
$(function() {
var entries= [
"emp1",
"emp2",
"emp3",
"emp4",
"emp5"
];
$("#vote").autocomplete({
source: "api/get_employees/",
});
});
</script>
...
...
...
<div class="ui-widget">
<input id="vote" type="text" name="vote"/>
<input type="submit" value="Vote" />
</div>
在网址.py在
^{pr2}$在视图.py在
def get_employees(request):
data = ['MyName']
return HttpResponse(json.dumps(data),'application/json')
我也尝试过将[{id:'MyName'}]传递给数据。但在自动完成的过程中我还是不明白。 我确信jquery部分没有什么问题,因为如果我将entries变量传递给source,一切都会正常工作。只有当我更改它以从django视图获取数据时,它才会遇到问题。 这方面的任何建议都会有帮助。我尝试过stackoverflow中的其他帖子,但是没有用。在
首先感谢所有的答案。他们帮助我形成正确的json来传递。但后来我发现我漏掉了一行“importjson”。即使没有这条我一无所知的生产线,一切都很顺利。再次感谢任何指点。在
在完成导入并返回正确的json之后,我可以看到带有autocomplete的条目列表。在
您的JSON应该如下所示:
当您查看http://jqueryui.com/autocomplete/#multiple-remote处的示例时,您可以看到自动完成是“询问”
http://jqueryui.com/resources/demos/autocomplete/search.php
您还应该使用
/api/get_employees/
,而不是api/get_employees/
也许这也很重要(对于你的django部分): jquery使用参数术语to作为搜索词。 例如http://jqueryui.com/resources/demos/autocomplete/search.php?term=ca正在搜索“ca”
自动完成文档不是很清楚。要使其正常工作,您需要确保
api/get_employees?term=...
将返回一个结构如下的JSON数组:相关问题 更多 >
编程相关推荐