【问题标题】:select2 placeholder not clearing after setting values设置值后选择2占位符未清除
【发布时间】:2015-08-02 02:20:12
【问题描述】:

我有一个多值 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();

这 2 行运行后发生的情况是我的 select2 字段具有默认值,然后是“选择...”。当我单击该字段时,占位符终于清除了,但我希望“选择...”在将值放入 select2 字段时消失。除了设置值之外,如何调整我的 updateSelection() 调用以删除占位符文本?

【问题讨论】:

    标签: jquery-select2


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-02-22
      • 1970-01-01
      • 2017-11-18
      • 2020-06-24
      • 1970-01-01
      • 2021-08-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多