私は以下のselect2入力を持っています。Select2はtemplateSelectionでグループのネストされたオプションを取得します
$('#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
が使用されなくなったと「escapeMarkup」コールバックと一緒に代わりtemplateSelection
を使用する必要があることが分かったん。 templateSelection
は、formatForDisplay
に次のデータのみを注入します。
{id: "", text: "Brand/product name"}
私は選択がしかし、行われたときグループ内の子のオプションにアクセスする必要があります。私はこの問題を回避するための適切な解決策を見つけることができませんでした。誰かが私にこれを行う正しい方法を指示できますか?