我正在使用带有spring mvc的select2。我从控制器获得了数据,我需要在选项方面显示。但我希望它们被分组为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。所以我可以在这里提供任何数据。有什么建议吗?
答案 0 :(得分:42)
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'
}
]
}