theg4sh Все проверки были в Chrome, Opera, FireFox. Пробовал просто выводить repo.text, что бы исключить возможные ошибки с html и символами - работает. Даже работает
return '<span>' + repo.text + '</span>';
А вот как только
return '<option>' + repo.text + '</option>'
- пустой список
UPD
Заменил optgroup и option на div. Не знаю почему, но так работает
Было
function formatRepo (repo) {
if(repo.category || repo.parent){
return '<optgroup class="select2-optgroup" label="' + repo.category + ' > ' + repo.parent + '"><option class="select2-opt" name="spares[' + repo.id + ']" id="spares[' + repo.id + ']" value="' + repo.id + '">' + repo.text + '</option></optgroup>';
}
return '<option class="select2-opt" name="spares[' + repo.id + ']" id="spares[' + repo.id + ']" value="' + repo.id + '">' + repo.text + '</option>';
}
Стало
function formatRepo (repo) {
if(repo.category || repo.parent){
return '<div class="select2-optgroup">'+repo.category+ '>'+ repo.parent +'</div><div class="select2-opt" name="spares[' + repo.id + ']" id="spares[' + repo.id + ']" value="' + repo.id + '">' + repo.text + '</div>';
}
return '<div class="select2-opt" name="spares[' + repo.id + ']" id="spares[' + repo.id + ']" value="' + repo.id + '">' + repo.text + '</div>';
}