@magalalka

Как вернуть value из option select2?

Делаю переключатель языка и перевод на сайте. Код перевода работает хорошо с дефолтным селектом, но он мне не подходит.

Вот селект:
<select class="multilang_select-lng" id="search">
	<option value="en">EN</option>
	<option value="ru">RU</option>
</select>


Вот код с его инциализацией + убираю поиск:
$(document).ready(function () {
	$('.multilang_select-lng').select2();
	$("#search").select2({
		minimumResultsForSearch: Infinity,
	});
});


А вот код мультиланга:
//выбираю селект со страницы
const selectLng = document.querySelector('#search');


const allLang = ['en', 'ru'];


selectLng.addEventListener('change', changeURLLanguage);



function changeURLLanguage() {
//пытаюсь взять его значиение value, но ничего не работает
	let lang = selectLng.value;

	location.href = window.location.pathname + '#' + lang;

	location.reload();

}


function changeLanguage() {

	let hash = window.location.hash;

	hash = hash.substr(1);

	console.log(hash);

	if (!allLang.includes(hash)) {

		location.href = window.location.pathname + '#en';

		location.reload();

	}

	selectLng.value = hash;

	document.querySelector('title').innerHTML = langArr['unit'][hash];

	for (let key in langArr) {

		let elem = document.querySelector('.lng-' + key);

		if (elem) {

			elem.innerHTML = langArr[key][hash];

		}
	}
}


changeLanguage();
  • Вопрос задан
  • 126 просмотров
Пригласить эксперта
Ответы на вопрос 1
Kentavr16
@Kentavr16
long cold winter
насколько я понял вы пытаетесь получить value из select'a, а нужно получить его из option
Ответ написан
Ваш ответ на вопрос

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

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