jquery - 如何正确将列表转换为 JavaScript 数组?
问题描述
我试图调用一个 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 数组,以便我的 AutoComplete 也能正常工作?谢谢
解决方案
您必须将其转换为 JSON,然后打印,为此使用tojson
过滤器。由于JSON
是有效的 javascript,因此不需要额外的解析或引号包装。
<script>
// .....
var tagsList = {{ autocompletList|tojson|safe }};
var availableTags = {{ Source|tojson|safe }};
// .....
<script>
推荐阅读
- javascript - 从函数内的函数返回值
- testing - Testcafe - 是否可以(应该可以)用便携式浏览器录制视频?
- converters - RAML 1.0 到 OAS 3.0 的最佳转换器工具
- r - 将多个双变量多级模型结果组合到一个显示表中
- flutter - 如何在颤动中保存生成的批量二维码
- r - 使用 R 中的 DW 检验检查 fotr 自相关
- python - 在 Python 中将多处理添加到具有返回值的函数时出现问题
- email - Mahara 未发送欢迎电子邮件
- unit-testing - 如果流中有多个 GetItem(),如何模拟 AWS DynamoDB?
- .htaccess - 在共享虚拟主机上部署 symfony 应用程序时禁止 403