Пробовала сделать по этому примеру (
Пример) - не работает
Добавила класс select2-result-selectable для optgroup:
<optgroup value="{$g_city.region}" label=" {$g_city.region}" class="select2-result-selectable">
var citiesSelectOpts = `{$smarty.capture.cities}`;
var citySelect = $('#city');
if(citySelect){
citySelect.show();
{literal}
citySelect.on('click', function (e) {
console.log('click');
if(!citySelect.hasClass('rendered')){
citySelect
.html(citiesSelectOpts)
.addClass('rendered')
.select2().on('select2-selecting', function (e) {
var $select = $(this);
if (e.val == 'all') {
e.preventDefault();
var childIds = $.map(e.choice.children, function (child) {
return child.id;
});
$select.select2('val', $select.select2('val').concat(childIds));
$select.select2('close');
}
});
}
});
{/literal}
}