来自 json encode 的自动完成源

autocomplete source from json encode

我想要来自 array 的自动完成源,它是我使用 json_encode 从 twig symfony 检索到的数组数据。问题是我不确定如何在自动完成源中使用数组。

这是我的 html 代码:

    <div class="form-group required">
                    <input id="autocomplete" name="driver[]" class="form-control" value = "{{place.name}}"/>
    </div>

我的 javascript 在这里 :

    var userlist = {{ lusers| json_encode | raw }};
    var datasource = [{"label" : userlist.name, "value" : userlist.id}];

    $('#autocomplete').autocomplete({
     source:datasource
     });

如果你想在jquery ui中使用自动完成,你的数组项应该是字符串 因此您可以使用此代码将数组项转换为字符串:

for (let i = 0; i < userlist.length; i++) {
    datasource[] = userlist[i].name;
}

但是如果你想在用户 select 标签时保存 id,你应该使用具有搜索能力的 Select 元素。

有很多 jquery 插件可以做到这一点,这是一个很好的例子:

https://select2.org/