【发布时间】: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