当您处于“标记”模式时,如何初始化jquery select2项?

时间:2014-05-05 03:05:29

标签: jquery tags jquery-select2 tagging

我正在尝试弄清楚当我处于标记模式时如何初始化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);
            }
        });

但这似乎不起作用。

如何在使用标记模式时初始化输入?

修改

我还想看看是否有任何钩子来验证添加的新标签。在我的情况下,我想确保它们是有效的电子邮件地址。

2 个答案:

答案 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