Jquery ui 将jQueryUIDatePicker上的maxDate设置为特定日期

Jquery ui 将jQueryUIDatePicker上的maxDate设置为特定日期,jquery-ui,datepicker,Jquery Ui,Datepicker,我想将jQuery UI的maxDate设置为18/02/2013,但尝试后,它只允许我将其更新到今天的日期 我该怎么做呢 $("#datepicker'.$row['id'].'").datepicker({ minDate: -0, dateFormat: \'dd/mm/yy\', maxDate: 18/02/2013 }); 试试这个: $("#datepicker").datepicker({ minDate: -0, maxDate: new Date(

我想将jQuery UI的
maxDate
设置为
18/02/2013
,但尝试后,它只允许我将其更新到今天的日期

我该怎么做呢

$("#datepicker'.$row['id'].'").datepicker({
    minDate: -0, 
    dateFormat: \'dd/mm/yy\',
    maxDate: 18/02/2013
});
试试这个:

$("#datepicker").datepicker({ minDate: -0, maxDate: new Date(2013, 1, 18) });
如果要使用硬编码日期,请使用
新日期(2013,1,18)
模式

如果要使用通用模式,请使用
“+1D+1M+1Y”

参考链接:


您还可以使用天数。

通过将结束日期选择器的范围从今天设置为7天,这对我很有效

$endDateCtrl.datepicker("option", "minDate", -0);
$endDateCtrl.datepicker("option", "maxDate", '+7D');
$endDateCtrl.datepicker();

我正在使用事件函数设置最大日期:

    $('#datepicker').datepicker({
        changeMonth: true,
        changeYear: true,
        yearRange: "-9:+1",// you can define range of year here.
        dateFormat: 'MM yy',
        onClose: function () {

            var iMonth = $("#ui-datepicker-div .ui-datepicker-month :selected").val();

            var iYear = $("#ui-datepicker-div .ui-datepicker-year :selected").val();

            $(this).datepicker('setDate', new Date(iYear, iMonth, 1));

        },
        beforeShow: function () {
            var selDate = $(this).val();
            if ((selDate.length) > 0) {
                iYear = selDate.substring(selDate.length - 4, selDate.length);
                iMonth = jQuery.inArray(selDate.substring(0, selDate.length - 5),

                $(this).datepicker('option', 'monthNames'));
                $(this).datepicker('option', 'defaultDate', new Date(lastYear, iMonth, 1));
                $(this).datepicker('option', 'maxDate', new Date(lastYear, 12, 1));
                $(this).datepicker('setDate', new Date(lastYear, iMonth, 1));
            }
        }
    });

似乎您正在将
0.004470938897168405
(18除以八进制2除以2013)赋值给
maxDate
,而不是日期字符串。您没有发现语法错误或其他问题吗?如果我删除'minDate'并使用其余的,它将显示1个月前的情况。对于“maxDate”中所需的确切daet,则必须将月份减少为1。除此之外,效果很好。Thanks@JayKatira:这是因为无论出于何种原因,
month
参数使用基于0的索引,而
day
year
则使用基于1的索引。这就是其中之一为什么?!?!片刻。这并不能回答这个问题。若要评论或要求作者澄清,请在其帖子下方留下评论。-这里的stackoverflow不是为了可以直接用于项目的结果。只是stackoverflow用于激发灵感和想法…:)请不要只发布代码作为答案,还要包括对代码的解释以及它如何解决问题。带有解释的答案通常质量更高,更容易吸引选票。
    $('#datepicker').datepicker({
        changeMonth: true,
        changeYear: true,
        yearRange: "-9:+1",// you can define range of year here.
        dateFormat: 'MM yy',
        onClose: function () {

            var iMonth = $("#ui-datepicker-div .ui-datepicker-month :selected").val();

            var iYear = $("#ui-datepicker-div .ui-datepicker-year :selected").val();

            $(this).datepicker('setDate', new Date(iYear, iMonth, 1));

        },
        beforeShow: function () {
            var selDate = $(this).val();
            if ((selDate.length) > 0) {
                iYear = selDate.substring(selDate.length - 4, selDate.length);
                iMonth = jQuery.inArray(selDate.substring(0, selDate.length - 5),

                $(this).datepicker('option', 'monthNames'));
                $(this).datepicker('option', 'defaultDate', new Date(lastYear, iMonth, 1));
                $(this).datepicker('option', 'maxDate', new Date(lastYear, 12, 1));
                $(this).datepicker('setDate', new Date(lastYear, iMonth, 1));
            }
        }
    });
$(document).ready(function() {
 $( "#dob" ).datepicker({
       maxDate: -0,
      changeMonth:true,
      changeYear:true,
      yearRange:"-100:+100",
      dateFormat: "yy-mm-dd",
    });
});