【问题标题】:jQuery MultiDatesPicker for datepicker: Restrict range?用于日期选择器的 jQuery MultiDatesPicker:限制范围?
【发布时间】:2013-12-03 06:45:35
【问题描述】:

decided 将此插件用于 jQuery UI Datepicker,

Wich 似乎很好用,例如:

$(function () {
    var today = new Date();
    $('#test').multiDatesPicker({
        dateFormat: "yy-mm-dd",
        addDisabledDates: [today.setDate(1), today.setDate(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 天)

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

【问题讨论】:

  • 您在寻找jsfiddle.net/kZBEt/370 吗?
  • @BrettWeber 是正确的 - 您可以将 jQueryUI Datepicker 调用与 MultiDatePicker 一起使用。
  • 尝试过并且有效,如果我知道它实际上扩展了 UI DatePicker,如果你们想将其发布为答案以便我们可以完成交易,那么这个问题有点愚蠢。

标签: javascript jquery jquery-ui datepicker jquery-multidatespicker


【解决方案1】:

here 所述,利用jQuery UI datepicker 的基本功能

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

来自 API 文档:

支持多种类型:

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

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

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

【讨论】:

  • 其实,从我的例子来看;我刚刚将最小和最大日期设置为我的开始日期和结束日期,非常适合,谢谢!
猜你喜欢
  • 2012-05-05
  • 2017-08-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-19
  • 2017-06-05
相关资源
最近更新 更多