簡體   English   中英

Django - JQuery 自動完成自定義從多個字段中選擇

[英]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選項。 每個對象都應該有一個labelvalue屬性。 以下內容應該可以滿足您的需求。

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM