Подтвердить что ты не робот

JQuery select2 json данные с optgroup и изображениями

Я использую select2 с spring mvc. Я получил данные от своего контроллера, которые мне нужно отображать здесь с точки зрения параметров. Но я хочу, чтобы они были сгруппированы в группу optgroup, а также я хотел бы добавить в нее изображения, которые можно вставить вручную, как указано ниже: -

 <optgroup label="group">
    <option value="imageName">value 1</option>
    <option value="imageName">value 1</option>
    </optgroup>

Где imageName - это имя изображения. Я хочу: 1) Опции группы в json. 2) Предоставьте этот атрибут изображения в json, чтобы select2 мог сформировать данные.

Вот код:

$("#my-select").select2({
        data : [ {
            id : 0,
            text : 'enhancement'
        }, {
            id : 1,
            text : 'bug'
        }, {
            id : 2,
            text : 'duplicate'
        }, {
            id : 3,
            text : 'invalid'
        }, {
            id : 4,
            text : 'wontfix'
        } ]
    });

Я создаю свой json вручную из своих объектов. Поэтому я могу предоставить любые данные здесь. Любые предложения?

4b9b3361

Ответ 1

Select2 сопоставляет объекты данных с тегами <option> и <optgroup>, используя следующую логику


Объект данных (что возвращается в списке), который выглядит как

{
  'id': 'value-here',
  'text': 'text-here'
}

Будет отображаться на <option>, который выглядит как

<option value="value-here">text-here</option>

Объект данных, который выглядит как

{
  'text': 'label-here',
  'children': [data_object, data_object]
}

Будет отображаться в <optgroup>, который выглядит как

<optgroup label="label-here">
  <!-- HTML for the `children` -->
</optgroup>

Итак, объект данных, который вы хотите вернуть,

{
  'text': 'group',
  'children': [
    {
      'id': 'imageName',
      'text': 'value 1'
    },
    {
      'id': 'imageName',
      'text': 'value 1'
    }
  ]
}