我使用GET请求的结果调用了自动完成jQuery。 自动完成功能调用看起来是这样的:jquery.autocomplete.js - 自动完成如何工作?
$('#id_project_owner_externally').autocomplete('/pm/contact_autocomplete');
的URL/PM/contact_autocomplete返回元组的列表。元组的第一部分是联系人的名称,而元组的第二部分是联系人的ID。
相应的功能(Django视图的一部分)看起来是这样的:
def iter_results(results):
if results:
for r in results:
yield '%s|%s\n' % (r.first_name, r.id)
现在我想知道什么jQuery的自动完成与FIRST_NAME + ID元组做。将first_name放入输入字段。但是id部分发生了什么。这是我需要的重要信息。
我可以告诉jQuery的id应该放在一个隐藏的领域?
编辑:该解决方案
<script type="text/javascript"><!--//
$('#id_project_manager_externally').autocomplete('/pm/contact_autocomplete').result(function(event, item) {$('#id_project_manager_externally_hidden').attr("value", item[1]);});//--></script>
这看起来很有前途。我会试一试。 – 2010-01-10 19:24:19
这是正确的答案。使用.result()选项,您可以替换隐藏字段的值。用户从自动填充下拉列表中选择了一个选项后,结果部分就会被触发。 – 2010-01-10 21:09:33