编辑:添加工作 JSFiddle
我正在使用 Twitter Bootstrap TagsInput 和 Bootstrap Typeahead。我的源是一个 json 文件,但这无关紧要,我已经检查了静态源。
预输入和标签输入正在工作,但是当我按 Enter、Tab 或单击标签时,它会创建重复的完整内容。
每当我按下回车键或完成预先输入时,就会发生这种极端的“默认”。如果我通过用逗号分隔或将焦点从窗口移开来中断提前输入,则不会发生这种情况。
这是输入:
<input id="itemCategory" type="text" autocomplete="off" class="tagsInput form-control" name="itemCategory">
这是脚本:
<script>
$('.tagsInput').tagsinput({
confirmKeys: [13, 44],
maxTags: 1,
typeahead: {
source: function(query) {
return $.get('listcategories.php');
}
}
});
</script>
我确信这是一些奇怪的事情,如果我幸运的话,是无法重现的,所以我希望有人能掌握一些他们知道会导致这样的事情发生的机构知识。
Here is an image of the extra text, in dev. tools:
我真的很感激任何意见或建议。谢谢。
工作代码
感谢@Girish,以下内容“解决”了这个问题。我认为目前这是一个错误,是在 jQuery 或 Typeahead 的更新版本中引入的。该代码只是手动删除额外的元素,尽管希望会出现一些东西来阻止它首先被放置在那里,从而消除额外的代码。现在它对我有用。
$('.tagsInput').tagsinput({
confirmKeys: [13, 44],
maxTags: 1,
typeahead: {
source: function(query) {
return $.get('tags.php');
}
}
});
$('.tagsInput').on('itemAdded', function(event) {
setTimeout(function(){
$(">input[type=text]",".bootstrap-tagsinput").val("");
}, 1);
});