Группа Select2 optgroup по запросу в формате JSON/Ajax

Используя Select2 с вызовом JSON/Ajax, я пытаюсь создать такую ​​группу:

<optgroup label="Property Reference">
     <option value="1">5742</option> 
     <option value="2">5788</option>
     <option value="3">5762</option>
     <option value="4">5711</option>
</optgroup>

Документация по моей проблеме недоступно.


Формат, который мне удалось заставить работать:

{
    results: [
        {
            id: 'CA',
            text: 'California'
        },
        {
            id: 'CO',
            text: 'Colarado'
        ]
    }
}

Но здесь нет группы.

После этого вопроса я попробовал следующий формат:

{
    "results": {
        "text": "Mountain Time Zone",
        "children": [
            {
                "id": "CA",
                "text": "California"
            },
            {
                "id": "CO",
                "text": "Colorado"
            }
        ]
    }
}

а также

{
    "results": {
        "Mountain Time Zone": [
            {
                "id": "CA",
                "text": "California"
            },
            {
                "id": "CO",
                "text": "Colorado"
            }
        ]
    }
}

а также

{
    "Mountain Time Zone": [
        {
            "id": "CA",
            "text": "California"
        },
        {
            "id": "CO",
            "text": "Colorado"
        }
    ]
}

Но ни один не работает. Кто-нибудь знает, какой правильный формат?

Вы можете проверить это здесь: https://jsfiddle.net/5am4zda6/2/

РЕДАКТИРОВАТЬ Решено: Черт... Забыл []. Правильный формат:

{
    "results": [
        {
            "text": "Mountain Time Zone",
            "children": [
                {
                    "id": "CA",
                    "text": "California"
                },
                {
                    "id": "CO",
                    "text": "Colarado"
                }
            ]
        }
    ]
}

person hg8    schedule 04.08.2016    source источник
comment
Это не работает на скрипке.   -  person Vinicius Dias    schedule 22.08.2017


Ответы (2)


Попробуйте так:

{
    "results": [
        {
            "text": "Groupe 1",
            "children": [
                {
                    "id": "CA",
                    "text": "California"
                },
                {
                    "id": "CO",
                    "text": "Colarado"
                }
            ]
        },
        {
            "text": "Groupe 2",
            "children": [
                {
                    "id": "CA",
                    "text": "California"
                },
                {
                    "id": "CO",
                    "text": "Colarado"
                }
            ]
        }
    ]
}

Я думаю, что вы забыли [ juste после "результатов"

person Thomas Mairé    schedule 04.08.2016
comment
как вы выполняете разбиение на страницы select2 с групповыми данными ajax? - person Faizan Anwer Ali Rupani; 18.10.2018

я не пробовал этот плагин раньше, но после просмотра связанного вопроса, который вы упомянули, попробуйте изменить индекс "result" на "data" примерно так:

{
    "data" : {
        'text': 'Mountain Time Zone',
        'children': [
          {
            'id': 'CA',
            'text': 'California'
          },
          {
            'id': 'CO',
            'text': 'Colorado'
          }
        ]
    }
}

Но было бы лучше, если бы вы предоставили нам рабочий jsfiddle.

person d.coder    schedule 04.08.2016
comment
Спасибо за Ваш ответ. К сожалению, это тоже не работает... Я пытаюсь настроить jsfiddle. - person hg8; 04.08.2016