Select 日期范围中只有开始日期并设置 +7 天结束(Bootstrap 日期范围选择器)

Select only start date in Date Range and Set +7 days for End (Bootstrap Date Range Picker)

我正在尝试在您单击日期范围选择器中的开始日期时触发一个事件,我已经尝试了几种方法并且到目前为止: 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');

});

我在此处发帖之前进行了大量搜索,但似乎找不到任何指导,提供指导将不胜感激。如果不清楚,请告诉我。

Fiddle: http://jsfiddle.net/40cwdk7h/1/

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/

试试这个... dateLimit: { days: 7 }

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

    });

});

link https://jsfiddle.net/rLnycn80/1845/