我知道有幾篇關于自動完成和 django 的帖子,但我最近進入了 jquery 領域,不知何故我迷路了。可以想象,我需要為以下欄位自動完成:
HTML檔案
<div class="ui-widget">
<input name="user_name"class="form-control "id="company-search">
</div>
<script type="text/javascript">
$(function() {
$("#company-search").autocomplete({
source: '{% url 'autocomplete' %}',
minLength: 1,
});
});
</script>
網址
path('autocomplete/',views.autocomplete, name='autocomplete')
觀看次數
def autocomplete(request):
data = request.GET['term']
forecast = LeadEntry.objects.select_related('lead_id')
companies = [str(i.lead_id.company).lower() for i in forecast]
search = [i for i in companies if i.startswith(data.lower()) ]
result = []
for company in search:
data = {}
data['label'] = company
data['value'] = company
result.append(data)
print(json.dumps(result))
mimeetype='application/json'
return HttpResponse(json.dumps(result),mimeetype)
請注意,ajax 部分運行良好,我每次都可以看到視圖在作業,我輸入了一個新字母,我得到了一個包含正確資料的 json 檔案。
我實際上可以看到結果,但實際值在右上角

我在 javascript 端收到以下錯誤:

問候
uj5u.com熱心網友回復:
評論區的回答好像已經解決了問題,為了幫助別人我寫在這里:
問題在于 jQuery UI 版本,請使用 CDN 版本 1.13.0 jQuery UI:
<script src = "https://code.jquery.com/ui/1.13.0/jquery-ui.min.js"> </script>
uj5u.com熱心網友回復:
從 jQuery檔案中,自動完成的源屬性需要一個關鍵字串列,但您將它傳遞給 django url。
您需要首先使用 ajax GET 呼叫點擊您的 django url 以獲取關鍵字串列,然后將該關鍵字串列放入自動完成源屬性中。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/395945.html
標籤:查询 姜戈 jquery-ui 自动完成 jquery-ui-自动完成
