设置值后,select2占位符不清除

时间:2015-05-20 17:22:53

标签: jquery-select2

我有一个多值select2字段,我填充了服务器返回的一些值。但是,在我在select2中设置这些值后,我的占位符仍在显示。

我已尝试将$("#my-select").data("select2").opts.placeholder设置为null,但对setPlaceholder()的相应调用已生成错误。我尝试使用$("#my-select").select2("val", myDefaultData)设置值,但是没有预先填充select2字段。

以下是初始化select2字段的代码:

$("#my-select").select2({
    ajax: {
        url: "/my/rest/endpoint",
        dataType: "json",
        delay: 250, 
        data: function(params) {

            return {
                name: params
            };

        },
        method: "get",
        results: function(data, page) {

            return {
                results: data
            };

        },
        cache: true
    },
    minimumInputLength: 1,
    placeholder: "Select...",
    multiple: true
});

以下是使用从服务器返回的数据填充$("#my-select")字段的块:

$("#my-select").data().select2.updateSelection(defaults["my-select-values"]);
$("#my-select").change();

在这两行之后发生的事情是我的select2字段具有默认值,然后是"选择..."。当我点击该字段时,占位符最终会清除,但我想要"选择..."在将值放入select2字段时消失。除了设置值?

之外,如何调整updateSelection()调用以删除占位符文本

1 个答案:

答案 0 :(得分:0)

事实证明,解决方案是使用以下方法填充数据:

$("#my-select").select2("data", defaults["my-select-values"]);