允许在 bootstrap 标签输入中自由输入(对象作为标签)
Allow free input in bootstrap-tags input (Objects as tags)
我正在使用 bootstrap-标签输入(对象作为标签)作为我的标签输入。正如官方文档所说 Objects as tags,它与 typehead js 自动完成建议一起工作得很好。但这只允许建议的标签作为输入,换句话说,只允许 Json 列表中的标签。我试图允许 freeinputs 以及列表中具有默认值的建议标签(例如:Whosebug 标签)。但我做不到。
这是我的代码:
var cities = new Bloodhound({
datumTokenizer: Bloodhound.tokenizers.obj.whitespace('text'),
queryTokenizer: Bloodhound.tokenizers.whitespace,
local: citilist //{value: 1, text: "Saint Lucia", continent: "Ararat"}...
});
cities.initialize();
var elt = $('#txt');
elt.tagsinput({
itemValue: 'value',
itemText: 'text',
typeaheadjs: {
name: 'cities',
displayKey: 'text',
source: cities.ttAdapter()
},
freeInput: true
});
elt.tagsinput('add', { "value": 1, "text": "Amsterdam", "continent": "Europe" });
You can try this code. It's work for me. Please write this with your existing code.
var count = 0;
$('body').on('keydown', '.tt-input', function (e) {
if (e.keyCode === 9) {
e.preventDefault();
$('#your-tag-input-Id').tagsinput('add', {
value: --count,
text: $('.tt-input').val(),
continent: "Unsaved"
});
$('.tt-input').val("");
}
});
negative value is new added tag and positive value is suggested tags.
'.tt-input'
is text box $('#txt')
class.
编辑:建议 count--
到 --count
(首先是 -1,然后是 return 值),以便 value
的自由输入从 -1
开始
我正在使用 bootstrap-标签输入(对象作为标签)作为我的标签输入。正如官方文档所说 Objects as tags,它与 typehead js 自动完成建议一起工作得很好。但这只允许建议的标签作为输入,换句话说,只允许 Json 列表中的标签。我试图允许 freeinputs 以及列表中具有默认值的建议标签(例如:Whosebug 标签)。但我做不到。 这是我的代码:
var cities = new Bloodhound({
datumTokenizer: Bloodhound.tokenizers.obj.whitespace('text'),
queryTokenizer: Bloodhound.tokenizers.whitespace,
local: citilist //{value: 1, text: "Saint Lucia", continent: "Ararat"}...
});
cities.initialize();
var elt = $('#txt');
elt.tagsinput({
itemValue: 'value',
itemText: 'text',
typeaheadjs: {
name: 'cities',
displayKey: 'text',
source: cities.ttAdapter()
},
freeInput: true
});
elt.tagsinput('add', { "value": 1, "text": "Amsterdam", "continent": "Europe" });
You can try this code. It's work for me. Please write this with your existing code.
var count = 0;
$('body').on('keydown', '.tt-input', function (e) {
if (e.keyCode === 9) {
e.preventDefault();
$('#your-tag-input-Id').tagsinput('add', {
value: --count,
text: $('.tt-input').val(),
continent: "Unsaved"
});
$('.tt-input').val("");
}
});
negative value is new added tag and positive value is suggested tags.
'.tt-input'
is text box$('#txt')
class.
编辑:建议 count--
到 --count
(首先是 -1,然后是 return 值),以便 value
的自由输入从 -1