我有一个多值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()调用以删除占位符文本答案 0 :(得分:0)
事实证明,解决方案是使用以下方法填充数据:
$("#my-select").select2("data", defaults["my-select-values"]);