javascript - 在 daterangepicker 如何动态设置 minDate?

标签 javascript jquery date-range daterangepicker

我输入了两个日期,一个是开始日期,另一个是结束日期。 我想动态设置 minDate 以根据开始日期结束日期输入。 简而言之,我想阻止用户选择小于开始日期的结束日期(在开始日期更改时我想更新结束日期输入的 minDate 属性)。

<input type="text" id="start_date" class="form-control"  name="start_date" data-input="date-range" >
<input type="text" id="end_date" class="form-control"  name="end_date" data-input="date-range" >

    $('[data-input=date-range]').each(function(index, picker) {
            $(picker).daterangepicker({
                alwaysShowCalendars: true,
                showCustomRangeLabel: true,
                startDate: picker.value ? moment(picker.value, "YYYY-MM-DD hh:mm:ii") : moment(),
                singleDatePicker: true,
                showDropdowns:true,
                autoUpdateInput: true,
                locale: {
                    cancelLabel: 'Clear',
                    format: 'MMMM D, YYYY'
                },
            });
        });

我正在使用 daterangepicker以一种形式

最佳答案

将 onChange 事件监听器绑定(bind)到 start_date 输入和处理程序内部,获取 start_date 的值并使用 moment js 再添加一天,因为您已经使用它。

然后使用 minDate ( Link ) 属性重新初始化 end_date 日历输入,如下所示。这样就无法选择距离开始时间不到 1 天的以前的日期。

$('#start_date').on('change', function(){
    $('#end_date').daterangepicker({
            alwaysShowCalendars: true,
            showCustomRangeLabel: true,
            minDate:moment($('#start_date').val(), "MMMM D, YYYY").add(1, 'd');
            singleDatePicker: true,
            showDropdowns:true,
            autoUpdateInput: true,
            locale: {
                cancelLabel: 'Clear',
                format: 'MMMM D, YYYY'
            },
});

确保在使用 moment 解析日期时使用适当的格式。

编辑: 看来你可以直接改变对象而无需重新初始化

$('#end_date').data('daterangepicker').minDate = new_date_you_obtained

关于javascript - 在 daterangepicker 如何动态设置 minDate?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54340323/

相关文章:

PHP:返回数组中两个日期之间的所有日期

javascript - 在 Vue.js 中切换过滤结果时的奇怪行为

javascript - AngularJS + Electron : Save Data to JSON File

javascript - htmlcompass 是如何工作的?

javascript - 触发JavaScript mousemove而不移动鼠标但获取鼠标坐标

javascript - 使 .toggleClass() 在 jQuery 中单击时仅影响具有相同类的一个元素

javascript - AngularJS ng-Cloak 不起作用

javascript - 克隆选择下拉菜单时出现表单验证错误

postgresql - 我如何将 Postgres DateRange 类型与 TypeOrm 一起使用

ruby - 如何使用 Ruby 在多个日期范围内查找中断