首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在数据采集器中,如何动态地设置minDate?

在数据采集器中,如何动态地设置minDate?
EN

Stack Overflow用户
提问于 2019-01-24 06:08:43
回答 1查看 8K关注 0票数 3

我有两个日期输入,一个是开始日期,另一个是结束日期。我希望根据开始日期动态地将minDate设置为结束日期输入。简而言之,我希望防止用户选择少于开始日期的结束日期(在更改开始日期时,我希望更新minDate属性以输入结束日期)。

代码语言:javascript
复制
<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'
                },
            });
        });

我在一个表单中使用数据采集器

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-01-24 06:19:20

将onChange事件侦听器绑定到start_date输入和处理程序中,获取start_date的值,然后使用js再添加一天,因为您已经在使用它了。

然后,使用end_date (链接)属性重新初始化minDate日历输入,如下所示。因此,不能选择从开始日期起不到一天的日期。

代码语言:javascript
复制
$('#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'
            },
});

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

编辑:,您似乎可以直接修改对象,而无需重新初始化

代码语言:javascript
复制
$('#end_date').data('daterangepicker').minDate = new_date_you_obtained
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54340323

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档