Как сделать соответствующую опцию языка в правом верхнем раскрывающемся списке, используя Jquery? - PullRequest
1 голос
/ 19 марта 2020

Я недавно присоединился к новой компании в качестве более свежего веб-разработчика (но у меня уже есть хорошие знания в HTML5 и CSS3, также мало знаний в Javascript и Jquery). Сразу же я был назначен для того, чтобы спроектировать что-то, над чем я должен поработать в chrome инструменте разработчика для исправления ошибок. Но последние 10 дней назад я действительно понятия не имею об инструменте разработчика. Но сейчас я через Интернет узнал об инструменте разработчика, и теперь я чувствую себя лучше, потому что я исправил почти 40+ исправлений, которые в основном связаны с CSS3, и несколько Jquery.

Проблема для меня заключается в том, кто-то разработал этот сайт через PHP, сказали они. Я понятия не имею о том, как они разработали этот проект, также не получая четкой информации. Поэтому, если я попрошу им файл HTML добавить класс или что-то еще, они ответят, что для этого проекта нет отдельного файла HTML. Итак, я решил добавить класс или удалить класс через jquery и CSS. Я почти закончил, но я не могу исправить еще 3 исправления, которые связаны исключительно с JS, и я не знаю, как найти эти проблемы в chrome инструменте разработчика.

Ошибка нет. 1: Помимо языка "Engli sh" в раскрывающемся списке, если я выберу кого-нибудь, например, "французский", он будет корректно переведен на французскую страницу, но если я выберу "about-us" или любую другую навигацию меню на французской странице, оно будет отображаться на правильной странице, но в раскрывающемся списке с надписью «Engli sh» вместо «французский» должно быть видно. Я прилагаю некоторые скриншоты здесь. Может ли кто-нибудь помочь в этом отношении? Я пробовал много способов исправить это, но я не смог. Мне нужно кодирование JS, чтобы решить эту проблему. может кто-нибудь, пожалуйста? Позже я сообщу вам о 2-й и 3-й поправках. Мне нужно это прямо сейчас. screenshot.jpg

Для быстрого ознакомления! Опять же, я приложил снимок экрана в чистом виде. Скриншот-два

пожалуйста, дайте мне знать, если что-то потребуется с моей стороны, пожалуйста.

Ответы [ 2 ]

2 голосов
/ 19 марта 2020

Если раскрывающийся список находится на главной странице, необходимо сохранить / обновить значение, выбранное в раскрывающемся списке language, в локальном хранилище / хранилище сессии в событии onchange раскрывающегося списка, например,

  $("#YourDropDownId").change(function () {
    localStorage.setItem("lang", [your_selected_language]);
    });

рядом с вами. можно проверить, когда страница загружается, если lang не равно нулю, установить в раскрывающемся списке выбранное значение:

$(document).ready(function() {
    if(localStorage.getItem("lang")) {
    //set dropdown selected value
    }
    });

надеюсь, это поможет.

1 голос
/ 19 марта 2020

Проблема в том, что there needs to be a binding of data in language drop-down и ваш бэкэнд. Например, в session-storage или cookies для каждого человека, который просматривает, вам нужно установить определенный фрагмент кода, который сообщает, какой выбор языка сделал пользователь, а затем for every page (в файлах cookie, local- хранилище, сессия-хранилище), если эта переменная найдена, то язык устанавливается на определенный.

Лучший подход:

Для каждого пользователя, если есть a login info тогда это должно быть сохранено в бэкэнде и должны быть внесены изменения (в переменную или что-то), чтобы каждая страница получала данные для выбора раскрывающегося списка dynamically через переменную, а не статически показывала только раскрывающийся список.

Ваша проблема:

Ваша проблема в том, что разработчик, который был раньше, сделал разные страницы с выпадающим списком, который он не связывал с переменной.

Я до сих пор не знаю, внедряет ли он one single _partial html for dropdown на всех страницах или он вручную добавил код для раскрывающегося списка на всех страницах. Если сделал 1 single code for dropdown и в том числе везде, ваша работа будет легкой. В противном случае вам придется создать переменную, и для каждой страницы на ее основе вам потребуется изменить выбор, сделав 1 дополнительный вызов функции или API на страницу.

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...