根据 JSON/Ajax 格式请求选择 2 个 optgroup 组

Select2 optgroup group on JSON/Ajax format request

将 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>

我的问题的文档 is not available


我设法开始工作的格式:

{
    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"
        }
    ]
}

但是 none 正在工作。任何人都知道正确的格式是什么?

您可以在这里进行测试:https://jsfiddle.net/5am4zda6/2/

编辑已解决:该死的...忘记了 []。 正确的格式是:

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

我之前没有尝试过这个插件,但是在查看了你提到的相关问题之后,尝试将 "result" 索引更改为 "data" 像这样:

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

但如果您能为我们提供一个可用的 jsfiddle 就更好了。

这样试试:

{
    "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 在 "results"

之后