javascript - 用于日期选择器的 jQuery MultiDatesPicker : Restrict range?

标签 javascript jquery jquery-ui datepicker jquery-multidatespicker

decided将此插件用于 jQuery UI Datepicker,

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

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

除了当月的 1 号和 3 号,这允许用户根据需要选择任意天,

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

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

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 天)

enter image description here

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

最佳答案

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

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

来自 API 文档:

Multiple types supported:

Date: A date object containing the minimum date.

Number: A number of days from today. For example 2 represents two days from today and -1 represents yesterday.

String: A string in the format defined by the dateFormat option, or a relative date. Relative dates must contain value and period pairs; valid periods are "y" for years, "m" for months, "w" for weeks, and "d" for days. For example, "+1m +7d" represents one month and seven days from today.

关于javascript - 用于日期选择器的 jQuery MultiDatesPicker : Restrict range?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20076221/

相关文章:

javascript - 在 angularjs 中手动触发 $watch 事件

javascript - 使用 ngRepeat 破坏单选按钮上的 ngModel

Javascript构造函数来计算实例数

javascript - 在 Cocoa/OSX 应用程序中打包 node.js

javascript - 取消选中复选框时无法隐藏段落

javascript - 自动完成列表固定位置浏览器调整大小

javascript - Chrome 扩展程序可将 JavaScript 添加到实时页面中

javascript - 鼠标离开视口(viewport)时如何使 JQuery .hover() 工作?

javascript - jQuery UI 如何打开对话框,附加到 div 而不是主体

jQuery UI 自动建议搜索框,其结果以与 linkedin 搜索类似的格式显示