初始化之后是否可以更改select2对象?

时间:2014-03-05 17:16:34

标签: javascript jquery symfony jquery-select2 sonata-admin

我正在使用sonata admin bundle来构建管理仪表板。我想将一些数据绑定到select2增强型选择框。

问题是我在页面加载后无法改变select2属性:

$(function(){
    $("#select-brand").select2({
       placeholder: "Select report type",
       allowClear: true,
       data: [{id: 0, text: 'story'},{id: 1, text: 'bug'},{id: 2, text: 'task'}]
    });
}):

这会产生错误:

Uncaught Error: Option 'data' is not allowed for Select2 when attached to a <select> element.

但即使只是试图覆盖占位符也没有任何效果:

$("#select-brand").select2({
    placeholder: "Select report type",
    allowClear: true,
});

2 个答案:

答案 0 :(得分:0)

这是相关的吗?

在onload事件中添加以下内容:

$('#selectId').append( $.map(data, function(v, i){ return $('<option>', { val: i, text: v }); }) );

答案 1 :(得分:0)

考虑这个相关问题select2 destroy and recreate。我不得不销毁并重新创建select2以解决我今晚遇到的问题。我认为这个解决方案也适合你。