Select2在templateSelection中获取组的嵌套选项

时间:2017-08-22 03:32:46

标签: jquery jquery-select2

我有以下select2输入;

$('#input').select2({
    width: '100%',
    placeholder: "Brand/product name",
    allowClear: true,

    data: parseRawDataToSelect2(),

    templateSelection: formatForDisplay,
    escapeMarkup: function (m) {
        return m;
    }
});

parseRawDataToSelect2返回select2输入的以下数据:

[
    {
        id: '',
        text: 'group 1',
        children: [{id: 1, text: 'option 1 in group 1'}, {id: 2, text: 'option 2 in group 1'}]
    },
    {
        id: '',
        text: 'group 2',
        children: [{id: 3, text: 'option 3 in group 2'}, {id: 4, text: 'option 4 in group 2'}]
    }
]

我发现formatSelection已不再使用,必须使用templateSelection代替'escapeMarkup'回调。但是templateSelection只会将以下数据注入formatForDisplay;

{id: "", text: "Brand/product name"}

但是,在进行选择时,我需要访问组中的子选项。我无法找到解决这个问题的正确解决方案。有人可以指导我这样做的正确方法吗?

1 个答案:

答案 0 :(得分:0)

<select></select>元素通过分组选项完成了这一操作。 问题出在我的html元素上,因为我使用<input></input>来附加select2功能。我正在使用

使用<input>元素的分组选项,Select2 4.0.3无效。如果我错了,请纠正我。