Здравствуйте!
Уже пол дня мучаюсь c select2. Проблема вот в чем - есть выпадающий список с городами они должны подгружаться с yandex geocode через ajax в select2. Загрузка работает нормально, города попадают в селект, но выбрать пункт нельзя. В ходе работы установил что не хватает атрибута aria-selected. Добавил его через selectionFormat, но он все равно удаляется сам. Нашел
вот такое обновление, но и єтот фокус не помог (опшинсы вообще не отображаются).
Кто-то встречался с подобной проблемой?
Код js:
$sel.select2({
ajax: {
url: "http://geocode-maps.yandex.ru/1.x/",
dataType: 'json',
delay: 250,
data: function (params) {
return {
geocode: params.term,
format: 'json',
kind: 'locality'
};
},
processResults: function (data) {
var parsed = [],
index = 0;
while(data.response.GeoObjectCollection.featureMember[index] !== undefined){
var item = data.response.GeoObjectCollection.featureMember[index].GeoObject;
if(item.metaDataProperty.GeocoderMetaData.kind === 'locality') parsed.push({pk: item.index, text: item.name+', '+item.description});
index++;
}
return {results: parsed}
},
cache: true
},
minimumInputLength: 2,
placeholder: 'Укажите город',
language: 'ru',
templateSelection: function(option){
return '<li class="select2-results__option" role="treeitem" aria-selected="false">'+option.text+'</li>';
}
});