我正在尝试弄清楚当我处于标记模式时如何初始化a jquery select2 item(因为我想允许用户输入新项目:
我看到这个例子:
$("#e12").select2({tags:["red", "green", "blue"]});
工作正常但我需要用已经添加的一些条目来实例化它。
但如果我想在页面加载时使用一些现有项目初始化,我尝试做类似这样的事情:
var existingEmailAddresses= ["joe@abc.com","bill@abc.com"];
$("#e12").select2({
width: "600px",
multiple: true,
tags:["A", "B", "C"],
initSelection: function (element, callback) {
callback(existingEmailAddresses);
}
});
但这似乎不起作用。
如何在使用标记模式时初始化输入?
我还想看看是否有任何钩子来验证添加的新标签。在我的情况下,我想确保它们是有效的电子邮件地址。
答案 0 :(得分:5)
尝试
var existingEmailAddresses = ["joe@abc.com", "bill@abc.com"];
$("#e12").val(existingEmailAddresses).select2({
width: "600px",
multiple: true,
tags: ["A", "B", "C"]
});
演示:Fiddle
答案 1 :(得分:0)
在Select2版本4.x中,这已经改变了。 Select2应用于"选择"标签而不是使用initSelection方法,它使用数据适配器。更多信息https://select2.github.io/announcements-4.0.html