在init不起作用后用JSON填充select2

jam*_*ray 12 jquery json populate jquery-select2

我正在尝试使用JSON数组填充select2元素; 但我无法得到它.

我有下一个数组:

data = [{"id":"Foo","text":"Foo"},{"id":"Bar","text":"Bar"}]
Run Code Online (Sandbox Code Playgroud)

我将select2初始化如下:

$("#selectElement").select2();
Run Code Online (Sandbox Code Playgroud)

我使用下一个代码填充:

$('#selectElement').select2('data', data, true);
Run Code Online (Sandbox Code Playgroud)

但不起作用,我不知道为什么.有人可以帮帮我吗?

编辑:我需要在select2的init之后填充(我从AJAX接收JSON)

我的意图是使用其他select2的AJAX搜索的JSON填充我的问题的select2.

一切都很好,除了populate(我在第一个格式的Selectiom方法中得到了这个JSON,但我不知道我可以用这个来填充第二个select2)

Miv*_*web 10

我看到你的代码和select2的代码之间存在一些差异

你的数据:

var data = [{"id":"Foo","text":"Foo"},{"id":"Bar","text":"Bar"}];
Run Code Online (Sandbox Code Playgroud)

应该:

var data = [{id:"Foo", text:"Foo"},{id:"Bar", text:"Bar"}]
Run Code Online (Sandbox Code Playgroud)

您的人口代码:

$('#selectElement').select2('data', data, true);
Run Code Online (Sandbox Code Playgroud)

应该:

$('#selectElement').select2({data: data});
Run Code Online (Sandbox Code Playgroud)

Select2的示例

var data = [
      { id: 0, text: 'enhancement' }, 
      { id: 1, text: 'bug' }, 
      { id: 2, text: 'duplicate' }, 
      { id: 3, text: 'invalid' }, 
      { id: 4, text: 'wontfix' }
];

$(".js-example-data-array").select2({
  data: data
});

<select class="js-example-data-array"></select>
Run Code Online (Sandbox Code Playgroud)

  • 不,不起作用.显示错误:当附加到select元素时,select2不允许选项数据 (2认同)