Условие Javascript в функции datecalendar

Утро!

У меня есть этот вопрос:

Эта функция:

 calendar_arrival.datepicker({
    beforeShow: function () {
      $('#ui-datepicker-div').removeClass('departure').addClass('arrival');
    },
    minDate: mindate,
    dateFormat: format,
    closeText: "Close",
    currentText: "",
    firstDay: 0,
    nextText: " >>",
    prevText: "<< ",
    monthNames: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"],
    monthNamesShort: monthNamesShortArray,
    dayNames: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
    dayNamesShort: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
    dayNamesMin: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
    isRTL: false,
    onClose: function () {
      var minDate = calendar_arrival.datepicker('getDate');
      if (minDate) {
        minDate.setDate(minDate.getDate() + 2);
      };
      calendar_departure.datepicker('option', 'minDate', minDate || 1).on('focus', function () {
        $(this).trigger('blur');
      }); // Date + 1 or tomorrow by default

      if (convertDates) {
        populateCalendar(calendar_arrival);
        populateCalendar(calendar_departure);
      }
    }

Имеет 3 параметра, которые я хотел бы изменить в зависимости от языка:

месяцИмена

деньНазвания

dayNamesShort

деньИменаМин

Я пытаюсь использовать условное выражение, например:

if ($('html').hasClass('smrt-es')) {
  var monthNames = ["Ene", "Feb", "Mar", "Abr", "May", "Jun", "Jul", "Ago", "Sep", "Oct", "Nov", "Dic"];
} 
else if ($('html').hasClass('smrt-en')) {
  var monthNames = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"];
}

Но не работает... выдает и ошибку в консоли.

Мне интересно, есть ли у кого-нибудь из вас быстрое решение.

Спасибо! Роб

Что за ошибка в консоли?

Stitt 09.02.2023 12:34
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
2
1
67
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете попробовать объявить monthNames по умолчанию вне условного выражения, а затем обновить его значение в зависимости от языка:

var monthNames = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"];

if ($('html').hasClass('smrt-es')) {
  monthNames = ["Ene", "Feb", "Mar", "Abr", "May", "Jun", "Jul", "Ago", "Sep", "Oct", "Nov", "Dic"];
}

calendar_arrival.datepicker({
  // ...
  monthNames: monthNames,
  // ...
});

Сделайте то же самое для других параметров dayNames, dayNamesShort и dayNamesMin.

Это идеальный Габриэль! Я обновил по всем параметрам и работает нормально. Большое спасибо за ваше решение, хорошего дня!

Rob 09.02.2023 13:19

Другие вопросы по теме