jquery tagsinput和ui autocomplete:它们可以与预加载的源一起使用吗?

我有点麻烦。 有taginput的工作代码,我知道如何使用jquery ui的自动完成function。

代码示例

也不

autocomplete' :{ 'source': tags_array } 

也不

 $("#new_tags_tagsinput").autocomplete({source: tags_array}); 

似乎工作。

在tagsinput站点上有一个例子,它需要自动完成URL,但我想使用加载的数组,就像在自动完成示例上一样。 我尝试了不同的选择,没有人工作。 有这样的方式吗?

像这样初始化它:

 var tags_array = ["lorem", "ipsum", "dolar", "sit", "amet"]; $("#new_tags").tagsInput({ 'defaultText':'add...', 'height':'100px', 'width':'300px', 'autocomplete_url': '', 'autocomplete' :{ 'source': tags_array } }); 

JSFiddle

说明:首先,当您使用该标记数组作为源时,不需要保持相同的结构(即逗号分隔的字符串) – 从一开始就更容易使用普通数组。

其次,正如插件的源代码所示, autocomplete_url是真正定义是否将使用autocomplete_url的设置:

 if (settings.autocomplete_url != undefined) { autocomplete_options = {source: settings.autocomplete_url}; for (attrname in settings.autocomplete) { autocomplete_options[attrname] = settings.autocomplete[attrname]; } ... } 

换句话说,您需要在autocomplete_url param中指定除nullundefined之外的其他内容,以使其使用该jQuery UI插件。 实际上,该插件检查该param类型并相应地设置autocomplete源选项可能是个好主意。