Я использую ввод bootstrap-tags (объекты как теги — https://bootstrap-tagsinput.github.io/bootstrap-tagsinput/examples/) для ввода моих тегов. Он отлично работает с объектами в качестве тегов для автозаполнения предложений.
Но я тоже пытаюсь активировать свободный ввод. Таким образом, если тегов нет в списке автозаполнения, можно добавить новые теги.
Вот мой код:
var tags = new Bloodhound({
datumTokenizer: Bloodhound.tokenizers.obj.whitespace('text'),
queryTokenizer: Bloodhound.tokenizers.whitespace,
prefetch: {
ttl: 1,
url:'[Json File Path]'
}
});
tags.initialize();
var elt = $('input#tags');
elt.tagsinput({
tagClass: 'badge badge-primary',
itemValue: function(item) {
return item.id;
},
itemText: 'text',
freeInput: true,
typeaheadjs: {
name: 'tags',
displayKey: 'text',
source: tags.ttAdapter()
}
});
Пример Json:
[{"id":15,"text":"money"},{"id":14,"text":"startup"},{"id":13,"text":"inspiration"},{"id":12,"text":"success"},{"id":11,"text":"challenge"}]