jQuery自动完成是否与动态数组一起用作源

Chr*_*che 8 javascript jquery jquery-ui autocomplete

我目前正在尝试使用存储在javascript变量中的源创建自动完成,但此变量可以由另一个函数更新.所以,我想要的是,每次用户更新自动完成字段时,source都会生成自动完成字段.

这是我使用的代码:

<head>
    <script>
        var availableTags = ['java', 'javascript']
        // can be called anytime
        var addToTags = function(str){availableTags.push(str)}

        $(function() {
            $( "#tags" ).autocomplete({
                source: availableTags
            });
        });
    </script>
</head>
<body>
    <div class="ui-widget">
        <label for="tags">Tags: </label>
        <input id="tags" />
    </div>
</body>
Run Code Online (Sandbox Code Playgroud)

我是否需要执行类似回调的功能?

Ber*_*rgi 12

存储在javascript变量中的源,但此变量可以由另一个函数更新.

这应该工作.如果自动完成和更新函数都引用相同的数组,则可以随时推送新值,这将在下次评估数组时使用(例如,在击键时).

我希望每次用户更新自动填充字段时,都会生成自动完成的源字段.

那是另一回事.是的,这需要一个回调函数来source动态生成数组,但这很简单.看看文档:

$( "#tags" ).autocomplete({
    source: function(request, resolve) {
        // fetch new values with request.term
        resolve(availableTags);
    }
});
Run Code Online (Sandbox Code Playgroud)