1

决定将此插件用于 jQuery UI Datepicker,

Wich 似乎工作得很好,例如:

$(function () {
    var today = new Date();
    $('#test').multiDatesPicker({
        dateFormat: "yy-mm-dd",
        addDisabledDates: [today.setDate(1), today.setDate(3)]
    );
});

这允许用户选择他想要的天数,除了当月的第一天和第三天,

但是我如何限制用户选择仅大于所需日期(开始)且小于另一个所需日期的日期?

我在他们的文档中没有看到任何方法

PD:作为一种解决方法,我需要创建一个包含我想要的时间间隔之前/之后的日期的数组,但我怎么能全部标记呢?(我的意思是,我应该在这个阵列中考虑多少年??)

-编辑-

只是为了测试,我试图在我想要的范围内禁用之前的 15 天和之后的 15 天,如下所示:

$(function () {
        var start = new Date(2013, 11, 20)
        var end =  new Date(2013, 11, 24)

        console.log(start, end);

        var dissabledDates = [];
        if ( end < start ) {
            alert('Está mal');
        }

        for ( i = 0 ; i < 15 ; i++ ){
            var currentDate = new Date();
            currentDate.setDate( start.getDate() - i );
            dissabledDates[ dissabledDates.length ] = currentDate;
        }
        for ( i = 0 ; i < 15 ; i++ ){
            var currentDate = new Date();
            currentDate.setDate( end.getDate() + i );
            dissabledDates[ dissabledDates.length ] = currentDate;

            console.log(currentDate);
        }


        var today = new Date();
        $('#test').multiDatesPicker({
            dateFormat: "yy-mm-dd",
            addDisabledDates: dissabledDates
        });
    });

并且限制发生了,但是,看看选择器的外观(注意我只限制了前后 15 天)

在此处输入图像描述

所以问题是:我怎样才能让用户在我的开始日期和结束日期之间进行选择?

4

1 回答 1

2

如此处所述,使用 jQuery UI 日期选择器中的基本功能

$( "#datepicker" ).datepicker({ minDate: -20, maxDate: "+1M +10D" });

从 API 文档:

支持多种类型:

Date:包含最小日期的日期对象。

Number:从今天开始的天数。例如,2 代表从今天起两天,-1 代表昨天。

String:由 dateFormat 选项定义的格式的字符串,或相对日期。相对日期必须包含值和周期对;有效期间是“y”代表年,“m”代表月,“w”代表周,“d”代表天。例如,“+1m +7d”表示从今天起 1 个月零 7 天。

于 2013-11-19T20:12:15.260 回答