MiragePresent
@MiragePresent
программист php

Select2. Удаляет aria-selected?

Здравствуйте!
Уже пол дня мучаюсь 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>';
		}

	});
  • Вопрос задан
  • 457 просмотров
Пригласить эксперта
Ответы на вопрос 1
@lamoid
Надо чтобы возвращаемый аджаксом массив имел поле id, тогда будет возможность выбора в списке:
[{"osm_id":"27504327","id":"1234487890"}]
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы