我想弄清楚如何初始化一个jquery select2项目时,我在标记模式(因为我想让用户输入新的项目:
我看到这个例子:
$("#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);
}
});
但这似乎不起作用。
在使用标记模式时如何初始化条目?
编辑
我还想看看是否有任何钩子来验证添加的新标签。在我的例子中,我想确保它们是有效的电子邮件地址。
Try
var existingEmailAddresses = ["joe@abc.com", "bill@abc.com"];
$("#e12").val(existingEmailAddresses).select2({
width: "600px",
multiple: true,
tags: ["A", "B", "C"]
});
演示:小提琴
在Select2版本4。X,这个变了。Select2应用于"select"标签,而不是使用initSelection方法,它使用数据适配器。更多信息在这里https://select2.github.io/announcements-4.0.html