Python jQuery自动完成不';我不想发送特定的POST数据
我正在尝试添加项目(基金)。自动完成成功显示所有资金。它应该检索与该“基金”对应的Python jQuery自动完成不';我不想发送特定的POST数据,python,django,jquery-autocomplete,Python,Django,Jquery Autocomplete,我正在尝试添加项目(基金)。自动完成成功显示所有资金。它应该检索与该“基金”对应的fund.id。如果我能在这件事上再多看一眼,我将不胜感激 我只是想说清楚:我没有得到一个具体的错误。如果帖子中没有“基金”,我的观点就会改变方向。我只是想弄明白为什么我的自动完成功能没有发布基金后价值(fund.id) --提前谢谢 模板: <script type="text/javascript" src="{{ STATIC_URL }}js/autocomplete/add_fund_autocom
fund.id
。如果我能在这件事上再多看一眼,我将不胜感激
我只是想说清楚:我没有得到一个具体的错误。如果帖子中没有“基金”,我的观点就会改变方向。我只是想弄明白为什么我的自动完成功能没有发布基金后价值(fund.id)
--提前谢谢
模板:
<script type="text/javascript" src="{{ STATIC_URL }}js/autocomplete/add_fund_autocomplete.js"></script>
...
<form method="POST" action="/profile/edit/">
{% csrf_token %}
<input type="hidden" name="fund" id="id_fund" />
<div class="inline-block">
<label for="id_omnibox">Fund</label>
<input id="id_omnibox" name="omnibox" placeholder="Enter a fund name or search for an existing..." type="text" />
</div>
<div class="input-prepend inline-block">
<label for="id_amount">Allocation</label>
<span>$</span>
<input id="id_amount" name="amount" type="text" placeholder="Enter amount" />
</div>
<button class="add" type="submit" name="add_position">Add</button>
</form>
(自动完成)视图:
$(document).ready(function() {
$.get('/autocomplete/funds/', function(data) {
var completions = new Array();
var dict = JSON.parse(data, function(key, value) {
completions.push(key);
return value;
});
$('#id_omnibox').autocomplete({
source: completions,
minLength: 2,
select: function(event, ui) {
$('#id_fund').val(dict[ui.item.value]);
}
});
});
});
@login_required
def funds(request):
funds = Fund.objects.exclude(name='Placeholder')
result = {}
for fund in funds:
result[fund.name] = str(fund.id)
return HttpResponse(json.dumps(result))
例如:
添加金额为$123
的基金Hoth Ltd
。
霍斯有限公司的fund.id
应为1
发布数据
POST
---------------------------------------------------------
Variable Value
---------------------------------------------------------
fund u'' #empty? :\
csrfmiddlewaretoken u'436f77eb2023043be2f5242bb0443d80'
omnibox u'Hoth Ltd'
amount u'123'
add_position u'' #Just a trigger used in my view
调用select回调函数时,变量
dict
未定义
你可以只使用
ui.item.value
做ui.item.value
不是诀窍。我有一个精确的自动完成,在其他地方可以完美地工作。出于某种原因,这是唯一给我带来麻烦的自动完成。也许你给我指明了正确的方向。谢谢你的意见。