我使用Bootstrap tag plugin并使用此代码成功添加了一些标记:
$(function () {
var data = [{"id":"1","value":"painting-works"},{"id":"2","value":"plumbing-works"},{"id":"3","value":"programming"}];
var states = new Bloodhound({
datumTokenizer: Bloodhound.tokenizers.obj.whitespace('value'),
queryTokenizer: Bloodhound.tokenizers.whitespace,
local: data
});
states.initialize();
$("#tags").tagsinput({
itemValue: 'id',
itemText: 'value',
allowDuplicates: false,
maxTags: 1,
typeaheadjs: {
name: "states",
displayKey: 'value',
source: states.ttAdapter(),
},
freeInput: true
});
});
,输入元素是
<select placeholder="" class="bootstrap-tagsinput" id="tags"></select>
我试过这段代码
$('#tags').tagsinput('add', 'new');
但它只添加了一个新标签 我试图使用jQuery
$('#tags').val("painting-works");
但它没有用,我该怎么办?
答案 0 :(得分:1)
请注意,您正在使用对象数组作为数据,因此您需要在页面加载时将其中一个对象传递给tagsInput
$('#tags').tagsinput('add', {"id":"1","value":"painting-works"});
这是带解决方案的jsfiddle