[英]Django - JQuery autocomplete custom select from multiple fields
我有一個用戶搜索,可以通過股票代碼和名稱自動完成。 搜索結果返回為“{{ticker}} - {{name}}”。 選擇結果后,我希望它只填充代碼,因為它當前填充的是“{{ticker}} - {{name}}”。
這是我的python代碼:
if 'term' in request.GET:
tickers = Company.objects.filter(ticker__istartswith = request.GET.get('term')) | Company.objects.filter(name__istartswith = request.GET.get('term'))
companies = []
for ticker in tickers:
companyTicker = ticker.ticker + " - " + ticker.name
companies.append(companyTicker)
return JsonResponse(companies, safe=False)
這是我的javascript:
<script>
$( function() {
$( "#ticker3" ).autocomplete({
source: '{% url "financials:get_financials" %}',
select: function (event, ui) {
ticker.ticker
}
});
} );
</script>
非常感謝任何幫助!
快速查看jquery 自動完成文檔顯示您可以使用對象數組作為source
選項。 每個對象都應該有一個label
和value
屬性。 以下內容應該可以滿足您的需求。
if 'term' in request.GET:
tickers = Company.objects.filter(ticker__istartswith = request.GET.get('term')) | Company.objects.filter(name__istartswith = request.GET.get('term'))
companies = []
for ticker in tickers:
label = f"{ticker.ticker} - {ticker.name}"
companyTicker = {'label': label, 'value': ticker.ticker}
companies.append(companyTicker)
return JsonResponse(companies, safe=False)
然后,您可以刪除 javascript 中的select
選項:
<script>
$(function () {
$("#ticker3").autocomplete({
source: '{% url "financials:get_financials" %}',
});
});
</script>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.