使用optgroup和图像的jQuery选择2 json数据

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (66)

我正在使用SpringMVC的select 2。我从我的控制器获得数据,我需要在这里显示的选项。但我希望将它们分组,并将图像附加到其中,这些图像可以按以下方式手动插入:---

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

其中ImageName是图像的名称。我想:1)在JSON中的组选项。2)在json中提供该图像属性,使select 2能够形成数据。

以下是代码:

$("#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,然后我可以在这里提供任何数据。有什么建议吗?

提问于
用户回答回答于

Select 2将数据对象映射到<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'
    }
  ]
}

扫码关注云+社区

领取腾讯云代金券