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