【问题标题】:Foundation datepicker, end date (and time) cannot be before start date (and time)基础日期选择器,结束日期(和时间)不能早于开始日期(和时间)
【发布时间】:2016-08-21 05:32:44
【问题描述】:

我正在使用 Foundation-Datepicker,并且我拥有它,因此用户只能选择当前日期之后的开始日期(即无法选择所有其他值)。

我希望结束日期的工作方式与用户只能选择开始日期之后的日期相同。

我的日期(天数)有效,即如果开始日期是 2016 年 1 月 3 日,则用户不能选择 2016 年 1 月 1 日作为结束日期。

我的第一个问题是因为我不能让开始日期与结束日期相同,其次因为我也在使用时间,我希望它禁用开始日期/时间之后的所有选择结束日期/时间弹出窗口。

即用户可以选择 2016 年 1 月 1 日 13:00 作为开始,1 月 1 日 14:00 作为结束。

我的代码如下:

// Get Date of today
var newDate = new Date();
// Prase newDate
var now = new Date(newDate.getFullYear(), newDate.getMonth(), newDate.getDate(), 0, 0, 0, 0);
// Initialize datepicker with restricted date
var startDate = $('.has-datepicker').fdatepicker({
    format: "dd/mm/yyyy - hh:ii",
    pickTime: true,
    onRender: function (date) {
        return date.valueOf() < now.valueOf() ? 'disabled' : '';
    }
}).on('changeDate', function (e) {
    if (e.date.valueOf() > endDate.date.valueOf()) {
        var newDate = new Date(e.date);
        newDate.setDate(newDate.getDate() + 1);
        endDate.update(newDate);
    }
}).data('datepicker');

var endDate = $('.has-datepicker2').fdatepicker({
    format: "dd/mm/yyyy - hh:ii",
    pickTime: true,
    onRender: function (date) {
        return date.valueOf() <= startDate.date.valueOf() ? 'disabled' : '';
    }
}).on('changeDate', function(e) {

}).data('datepicker');

【问题讨论】:

    标签: javascript jquery datetime datepicker zurb-foundation


    【解决方案1】:
    // implementation of disabled form fields
    var nowTemp = new Date();
    var now = new Date(nowTemp.getFullYear(), nowTemp.getMonth(), nowTemp.getDate(), 0, 0, 0, 0);
    var checkin = $('#dpd1').fdatepicker({
        onRender: function (date) {
            return date.valueOf() < now.valueOf() ? 'disabled' : '';
        }
    }).on('changeDate', function (ev) {
        if (ev.date.valueOf() > checkout.date.valueOf()) {
            var newDate = new Date(ev.date)
            newDate.setDate(newDate.getDate() + 1);
            checkout.update(newDate);
        }
        checkin.hide();
        $('#dpd2')[0].focus();
    }).data('datepicker');
    var checkout = $('#dpd2').fdatepicker({
        onRender: function (date) {
            return date.valueOf() <= checkin.date.valueOf() ? 'disabled' : '';
        }
    }).on('changeDate', function (ev) {
        checkout.hide();
    }).data('datepicker');
    

    像这样尝试.. 更好地浏览网站和文档

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-08-05
    • 2020-03-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-17
    相关资源
    最近更新 更多