可以将select2组件配置为接受新值,如Select2 dropdown but allow new values by user?
中的询问你可以在http://jsfiddle.net/pHSdP/646/看到它,代码如下:
$("#tags").select2({
createSearchChoice: function (term, data) {
if ($(data).filter(function () {
return this.text.localeCompare(term) === 0;
}).length === 0) {
return {
id: term,
text: term
};
}
},
multiple: false,
data: [{
id: 0,
text: 'story'
}, {
id: 1,
text: 'bug'
}, {
id: 2,
text: 'task'
}]
});
问题是,如果输入新值并按Enter键或按Tab键,新值将仅添加到列表中。
当使用类型并离开select2时,是否可以将select2组件设置为接受此新值。 (就像普通的html输入标签一样,通过点击屏幕上的某个位置保留你输入的值)
我发现select2有select2-blur
个事件,但是我找不到获取这个新值并将其添加到列表的方法?!
答案 0 :(得分:10)
添加属性selectOnBlur: true,
似乎对我有用。
编辑:很高兴它也适合你!
答案 1 :(得分:4)
我正在使用Select2 4.0.3并且必须添加两个选项:
tags: true,
selectOnBlur: true,
这对我有用
答案 2 :(得分:0)
并且能够与现有选择一起提交多个新选择:
select2({tags: true, selectOnBlur: true, multiple: true})