@shuvalovakris

Можно ли поменять настройки daterangepicker js при срабатывании events?

Здравствуйте!
Подскажите, пожалуйста, могу ли я поменять настройки дейтпикера при срабатывании события?
https://www.daterangepicker.com/#events - дейтпикер
Например, я хочу поменять настройку opens при отображении календаря (событие showCalendar.daterangepicker).
Пример:
$(function () {
        $(g('<?= $id . '_interval' ?>')).daterangepicker({
            autoUpdateInput: false,
            showDropdowns: true,
            autoApply: true,
            locale: {
                monthNames: moment.months()
            }
        }).on('showCalendar.daterangepicker', (ev, picker) => {
            picker.opens = 'left';
            console.log(picker);
        });
    });


По идее, он должен поменять настройку opens на left, потому что по умолчанию ее значение right.
При выводе в консоль "picker", его параметр действительно left

66d1c3e00bcf4327958728.png

Вот только окошко календаря как рисовалось, так и продолжает рисоваться.

Как рисуется:
66d1c468dc2f7600485460.png

Как должно:
66d1c4d23576b955053622.png

Может, кто-нибудь сможет что-то посоветовать. Заранее спасибо.
  • Вопрос задан
  • 54 просмотра
Решения вопроса 1
alsolovyev
@alsolovyev
¯\_(ツ)_/¯ Enjoy life, Eat well & Laugh often
А у Вас какая задача-то? Просто поменять расположение стрелки? Если да, то можно просто классы поменять. Собсно, есть opensright и opensleft, которые отвечают за расположение этой стрелки:
$('.daterangepicker').addClass('opensleft').removeClass('opensright');
// $('.daterangepicker').addClass('opensright').removeClass('opensleft');


Если у Вас какая-то более сложная логика отображения стрелки, то у инстанса picker'а есть методы:
- updateElement
- updateCalendars
- show
- hide
Думаю, что можно попробовать вызвать метод обновления picker'а после изменения настроек (скрыть/открыть опционально)

Ну, или на крайний случай просто удалить picker (picker.remove()) и инициализировать его с новыми опциями (написать отдельную функцию для инициализации, которая будет принимать опции)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы