Javascript jquery ui日期选择器-如何在一个日期选择器中设置两个最小/最大日期限制?

Javascript jquery ui日期选择器-如何在一个日期选择器中设置两个最小/最大日期限制?,javascript,jquery,jquery-ui,date,datepicker,Javascript,Jquery,Jquery Ui,Date,Datepicker,我正在使用jQueryUIDatePicker选择日期范围。我知道,默认情况下,它已经设置了,如果from选择了一个日期,那么to date不能选择from选择日期之前的任何日期。我还检查了minDate和maxDate文档,但我仍然无法尝试找出答案 我想保留它的默认设置,即在日期开始后选择日期到不能在开始日期之前,反之亦然,但还想添加另一个限制,即两个日期选择器的maxDate均为0,即今天。他们中没有一个今天能被选中 这几乎就是标准 $( "#date-from-field" ).dat

我正在使用jQueryUIDatePicker选择日期范围。我知道,默认情况下,它已经设置了,如果from选择了一个日期,那么to date不能选择from选择日期之前的任何日期。我还检查了minDate和maxDate文档,但我仍然无法尝试找出答案

我想保留它的默认设置,即在日期开始后选择日期到不能在开始日期之前,反之亦然,但还想添加另一个限制,即两个日期选择器的maxDate均为0,即今天。他们中没有一个今天能被选中

这几乎就是标准

  $( "#date-from-field" ).datepicker({
    onClose: function( selectedDate ) {
      $( "#date-to-field" ).datepicker( "option", "minDate", selectedDate );
    }
  });
  $( "#date-to-field" ).datepicker({
    onClose: function( selectedDate ) {
      $( "#date-from-field" ).datepicker( "option", "maxDate", selectedDate );
    }
  });
我试着加上这两个,但都不起作用

$( "#date-from-field" ).datepicker({maxDate: "0"});
$( "#date-from-field" ).datepicker({maxDate: "+0m +0w"});
但它们都不起作用


提前谢谢。

您可以参考此链接:

这是使用指定的maxDate选项初始化日期选择器,而不是在以后设置它:

$( ".selector" ).datepicker({
  maxDate: "+1m +1w"
});
要修改/获取选项,请使用以下命令:

初始化后,获取或设置maxDate选项:

+现在是0


mindate也一样

好的,所以在更新日期到字段时,您需要检查selectedDate是否为空,并将maxDate设置为0。一旦你这样做了,它就会按照你想要的去做,它会将最大值设置为今天的日期,或者如果是从的日期,如果不是今天的日期。这是一个我用的密码笔-

编辑

稍微更新了代码笔,以便它检查所选日期是否大于今天的日期

$("#date-to-field").datepicker({
  onClose: function( selectedDate ) {
    var possibleDate = new Date(selectedDate);
    possibleDate = (possibleDate < new Date())?possibleDate: new Date();
    $( "#date-from-field" ).datepicker( "option", "maxDate", selectedDate ? possibleDate: "0" );
    },
  maxDate: "0"
});

啊,我一直把maxDate:0输入到错误的位置,难怪它不起作用。也没有想到使用三元运算符。这很有效,非常感谢。。。
    $("#date-from-field").datepicker({
  onClose: function( selectedDate ) {
      $( "#date-to-field" ).datepicker( "option", "minDate", selectedDate );
    },
  maxDate: "0"
});

$("#date-to-field").datepicker({
  onClose: function( selectedDate ) {
    $( "#date-from-field" ).datepicker( "option", "maxDate", selectedDate ? selectedDate: "0" );
    },
  maxDate: "0"
});
$("#date-to-field").datepicker({
  onClose: function( selectedDate ) {
    var possibleDate = new Date(selectedDate);
    possibleDate = (possibleDate < new Date())?possibleDate: new Date();
    $( "#date-from-field" ).datepicker( "option", "maxDate", selectedDate ? possibleDate: "0" );
    },
  maxDate: "0"
});