当您处于"tagging"模式时,如何初始化 jquery select2 项目?



我想弄清楚如何初始化一个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

最新更新