5

我有一点麻烦。有标签输入的工作代码,我知道如何使用 jquery ui 的自动完成功能。

代码示例

两者都不

autocomplete' :{
    'source': tags_array
}

也不

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

似乎工作。

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

4

1 回答 1

11

像这样初始化它:

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

JSF中。

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

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

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

换句话说,您需要在参数中指定其他null内容undefinedautocomplete_url使其使用该 jQuery UI 插件。实际上,该插件检查该参数类型并相应地设置autocomplete源选项可能是一个好主意。

于 2013-09-13T16:05:25.523 回答