如何正确将列表转换为JavaScript数组?

时间:2019-03-21 07:13:05

标签: jquery jinja2

我试图调用一个jQuery Autocomplete,其自动完成选项的来源来自下面的列表

{% set Source = ['Customer', 'Name', 'Salutation', 'First Name English', '[Type Item Here]'] %}

由于Jquery AutoComplete接受一个数组,我试图找到一种方法来将列表转换为javascript数组,但没有成功。

  <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>

    <div class="col-sm-12">
      <div class="ui-widget">
        <label>Tags: </label>
        <input class="tags">
      </div>
    </div>

    {% set Source = ['Customer', 'Name', 'Salutation', 'First Name English', '[Type Item Here]'] %}

    <script>
        $(document).ready(function() {

        /* Auto Complete Form Label*/
        var availableTags = "{{Source|safe}}";

            // alert('auto');
            $( ".tags" ).autocomplete({
              source: availableTags,
              autoFocus: true,
              minLength: 1
            });
        })
    </script>

因此,如何正确地将列表Source转换为JavaScript数组,以便我的自动完成功能也能正常工作?谢谢

1 个答案:

答案 0 :(得分:1)

您必须将其转换为JSON,然后进行打印,为此使用tojson filter。由于Error: getaddrinfo ENOTFOUND smtp.zoho.com at errnoException (dns.js:28:10) at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:76:26) 是有效的JavaScript,因此无需进行其他解析或引号包装。

JSON