Выберите только дату начала в диапазоне дат и установите +7 дней для конца (средство выбора диапазона начальной загрузки) - PullRequest
0 голосов
/ 15 октября 2018

Я пытаюсь вызвать событие, когда вы нажимаете на дату начала в средстве выбора диапазона, я пробовал несколько способов, и до сих пор у меня это получается: HTML:

 <input class="form-control pull-right" type="text" name="daterange" id="dateRangeP" >

Javascript

$(function () {
        $('input[name="daterange"]').daterangepicker({
            locale: {
                format: 'DD-MM-YYYY'
            }
        });

        $('input[name="daterange"]').click(function () {
            debugger;
            var startDate = $("#dateRangeP").data('daterangepicker').startDate._d.toLocaleDateString('en-GB');

            var endDate = moment(startDate, "DD-MM-YYYY").add(7, 'days')._d.toLocaleDateString('en-GB');

            $("#dateRangeP").data('daterangepicker').setStartDate(startDate);
            $("#dateRangeP").data('daterangepicker').setEndDate(endDate);
            debugger;
            $(this).val(startDate + '-' + endDate);
            console.log($(this).val());
        });
    });

В данный момент это работает, когда вы нажимаете за пределами поля, но оно мне нужно, когда я нажимаю на дату начала.Я попытался использовать изменить функцию, чтобы вызвать ниже, но она работает только после того, как кнопка «Применить» и обе даты были выбраны

$('#dateRangeP').on('apply.daterangepicker', function(ev, picker) {
alert ('hello');

});

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

Скрипка: http://jsfiddle.net/40cwdk7h/1/

Ответы [ 2 ]

0 голосов
/ 26 октября 2018

Попробуйте это ... dateLimit: { days: 7 }

$(function() {
    $('input[name="daterange"]').daterangepicker({
        dateLimit: { days: 7 },
        locale: {
            format: 'MM/DD/YYYY '
        },

    });

});

ссылка https://jsfiddle.net/rLnycn80/1845/

0 голосов
/ 15 октября 2018
Yes, that function is only called when you clicked on apply button. 
For setting a dynamic end date at runtime used two datepicker instead of daterangepicker.

Fiddle Link: https://jsfiddle.net/kartik_bhalala/2euar7d3/19/

...