Как передать значение из select в список?

Я сделала на своем сайте перевод на несколько языков. Для этого я использовала библиотеку https://www.jqueryscript.net/text/ajax-language-sw...

$(document).ready(function () {
  $.sls.init({
    defaultLang: "en",
    lang: "en",
    path: "/languages/",
    persistent: true,
  });

  $(document).on("jquery-sls-language-switched", function (event) {
    if ($(".select__language").val != $.sls.getLang()) {
      $(".select__language").val($.sls.getLang());
    }
    console.log("Language switched: " + event.message);
  });
});

function selectLanguage(select) {
  $.sls.setLang(select.value);
}


Переключаю язык на сайте с помощью https://jqueryniceselect.hernansartorio.com/

<select class="select__language" onchange="selectLanguage(this);">
     <option value="en">English</option>
     <option value="pl">Polish</option>
     <option value="ru">Russian</option>
     <option value="ua">Ukrainian</option>
</select>


Библиотека Nice-slect не использует HTML-select, а просто дублирует данные в ul li

Проблема в том что когда я меняю язык и перезагружаю страницу, то измененный язык на сайте остается, а вот выбор в nice-select нет.
Если же используется обычный select, то все работает хорошо.

Вопрос в том, как после перезагрузки страницы передать данные о языке в nice-select? Спасибо
  • Вопрос задан
  • 109 просмотров
Решения вопроса 1
TTATPuOT
@TTATPuOT
https://code.patriotovsky.ru/
Попробуйте после загрузки страницы и инициализации Nice Select выполнить:
$('select').niceSelect('update');
В документации указано, что этот метод подсосёт все изменения из оригинального селекта.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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