Вы можете добавить class
к самой опции, если это возможно. Затем вы можете использовать state.element.className
, чтобы получить правильный значок
<select id="iconStyledDropdown">
<option value="firstIcon" class="icon1">First icon</option>
<option value="anotherFirstIcon" class="icon1">Another first icon</option>
<option value="secondIcon" class="icon2">Second icon</option>
<option value="lastEntry"class="icon2">Last entry</option>
Затем измените шаблон для результатов, чтобы использовать className для получения правильного значка.
function addIcon(option) {
var baseUrl = "/user/pages/images/flags";
return $('<span><img src="' + baseUrl + '/' +
option.element.className.toLowerCase() + '.png"/> ' +
option.text + '</span>');
}
Ваш код инициализации будет выглядеть так:
$('#iconStyledDropdown').select2({
templateResult: addIcon
});