我已经安装了jQuery的标记插件,我希望将它与jQuery UI的自动完成结合起来。
这两个插件都可以很好地独立工作,但是我无法让它们一起工作。我在jsFiddle中附上了一个样本。
http://jsfiddle.net/ciel/ecbjG/
如果你滚动到底部,你可以注释掉这两个插件中的任何一个,另一个工作正常。但是启用了标记插件后,自动完成功能不起作用。
我希望有人能告诉我我犯错的地方。
答案 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/(已更新)