如何在没有数据的情况下预填充select2字段

时间:2014-04-03 02:59:00

标签: jquery jquery-select2

我正在使用select2进行标记化。我认为我不想在该领域添加选项。我想使用ajax调用的返回值来预先填充一些输入的项目。

select2非常简单:

$("#select2-bug-input").select2({
            tags:[],
            tokenSeparators: [",", " "],
            placeholder: "Enter Anything(s)",
            initSelection: function(element, callback) {}
        });

重新说明我认为使用val,数据或标签来允许新选择并不感兴趣。我希望它看起来好像用户已输入2+值。

http://jsfiddle.net/BTgr8/

1 个答案:

答案 0 :(得分:1)

我不确定为什么要使用您在小提琴中提供的特定HTML。

以下示例适用于initSelection选项。诀窍是在input元素中设置一个值。只有这样才会触发initSelection。

<强> HTML:

<input id="select2example" type="hidden" value="1,1,2">

<强> JS:

    $(document).ready(function () {

        var data = [{
            id: 1,
            text: "A"
        }, {
            id: 2,
            text: "B"
        }, {
            id: 3,
            text: "C"
        }];

        $('#select2example').select2({
            multiple: true,
            data: data,//you can replace this by an ajax call to get the data in your select2
            initSelection: function (element, callback) {
                var data = [{ id: 1, text: 'A' }, { id: 3, text: 'C' }]; //you can replace this by a second ajax call to get your initial data
                callback(data);
            }
        });
    });

http://jsfiddle.net/e0ybe9qb/