所以我使用的是一个名为bootstrap-tag的库(不要与bootstrap-tags< -plural混淆)。这是它的存储库:https://github.com/fdeschenes/bootstrap-tag
我正在尝试构建标记从其他输入字段中获取的值,然后单击按钮,将该标记添加到标记输入字段。
我首先尝试查看是否可以访问元素的原型并从那里获取add方法。但我只能获得jquery元素的原型。我没有包含代码的唯一原因是因为我使用Ember.js并且不希望这可能使我遇到的实际问题复杂化。如果包含代码对我有帮助,请告诉我,我会将其添加到问题中。
标签输入字段在键入内部时可以正常工作。如何从字段外部构建值并添加标记?
我想要使用的add方法也在第三方库的这一行: https://github.com/fdeschenes/bootstrap-tag/blob/master/js/bootstrap-tag.js#L136
答案 0 :(得分:1)
此库不提供此API .. 但你可以轻松破解它;)
<input id="test-input" />
var tags = new $.fn.tag.Constructor(document.getElementById('test-input'), {});
tags.add('Hack');
tags.add('it');
tags.add('easily');
或者你可以这样做:
var tagsElement = $('.tags-input').tag(options);
addTagToElement(tagsElement, 'Whatever');
function addTagToElement(el, newTag) {
var e = $.Event('keydown');
e.keyCode = 13;
el.next().val(newTag);
el.next().trigger(e)
}
这个库在第一个定义的旁边创建一个占位符输入,并且甚至可以听到keydown ..所以addTagToElement
片段只是模拟了这个...