试图让jQuery UI AutoComplete与标签插件一起使用

时间:2011-07-04 16:40:07

标签: jquery jquery-ui jquery-plugins

我已经安装了jQuery的标记插件,我希望将它与jQuery UI的自动完成结合起来。

这两个插件都可以很好地独立工作,但是我无法让它们一起工作。我在jsFiddle中附上了一个样本。

http://jsfiddle.net/ciel/ecbjG/

如果你滚动到底部,你可以注释掉这两个插件中的任何一个,另一个工作正常。但是启用了标记插件后,自动完成功能不起作用。

我希望有人能告诉我我犯错的地方。

1 个答案:

答案 0 :(得分:1)

标记插件会将ID 标记的文本输入替换为ID为 tags_tag 的输入控件。

因此,在将标记插件绑定到输入控件后,您必须将自动完成插件绑定到 tags_tag

$('#tags').tagsInput();

$("#tags_tag").autocomplete({
    source: availableTags,
    minLength: 2,
    select: function(event, ui) {
        // something will happen eventually ...
    }
});

<强>更新
问题是如果输入失去焦点(模糊事件),标记插件将添加标记。在自动完成插件可以设置输入值之前触发此事件。因此,插件获取当前输入的值(例如Pyt)并将其添加为标签而不是所选值(例如Python)。我已经删除了模糊事件并触发了和按键(模拟“输入”)以使其工作,但这完全是一个黑客:) ...

也许您想更深入地研究标记插件。我看到它有自动完成设置。

var settings = jQuery.extend({
    ...
    autocomplete: {
        selectFirst: false
    },
    ...
}, options);

请参阅:http://jsfiddle.net/ecbjG/5/(已更新)