Javascript 日期选择器关闭问题
通过对这个网站的研究,我找到了一种使用2个日期选择器的方法。如果您在第一个日期上选择了一个日期,则第二个日期将自动显示为新日期。您可以在我的测试服务器上看到这一点: 我遇到的问题发生在这种情况下: 选择“签入日期”字段,但不要选择日期并单击其他位置。你不会的 在刷新整个页面或首先选择签出日期之前,可以重新获取签入日期字段datepicker弹出窗口 这是我正在使用的代码:Javascript 日期选择器关闭问题,javascript,jquery,datepicker,Javascript,Jquery,Datepicker,通过对这个网站的研究,我找到了一种使用2个日期选择器的方法。如果您在第一个日期上选择了一个日期,则第二个日期将自动显示为新日期。您可以在我的测试服务器上看到这一点: 我遇到的问题发生在这种情况下: 选择“签入日期”字段,但不要选择日期并单击其他位置。你不会的 在刷新整个页面或首先选择签出日期之前,可以重新获取签入日期字段datepicker弹出窗口 这是我正在使用的代码: $( "#datepicker1" ).datepicker({ showOn: 'both', buttonImage:
$( "#datepicker1" ).datepicker({
showOn: 'both',
buttonImage: 'images/ico/calendar.png',
buttonImageOnly: true,
minDate: 0,
firstDay: 0,
dateFormat: 'mm-dd-yy',
changeMonth: false,
numberOfMonths: 1,
onClose: function( selectedDate ) {
var minDate = $(this).datepicker('getDate');
var newMin = new Date(minDate.setDate(minDate.getDate() + 1));
$( "#datepicker2" ).datepicker( "option", "minDate", newMin );
$( "#datepicker2" ).datepicker( "show" );
}
});
$( "#datepicker2" ).datepicker({
showOn: 'both',
buttonImage: 'images/ico/calendar.png',
buttonImageOnly: true,
minDate: '+1d',
changeMonth: false,
firstDay: 0,
dateFormat: 'mm-dd-yy',
numberOfMonths: 1,
onClose: function( selectedDate ) {
}
});
我试着用onSelect替换onClose。这就解决了这个问题,但是当我在datepicker1上选择一个日期时,datepicker2会在一瞬间出现并消失
有人有办法让它正常工作吗
谢谢,,
Guilliano尝试用
...,
onClose: function( selectedDate ) {
var minDate = $(this).datepicker('getDate');
if(minDate){
var newMin = new Date(minDate.setDate(minDate.getDate() + 1));
$( "#datepicker2" ).datepicker( "option", "minDate", newMin );
$( "#datepicker2" ).datepicker( "show" );
}
}
查看控制台,我可以看到正在记录此错误: 无法调用null的方法“getDate” 这意味着你的声明:
var minDate = $(this).datepicker('getDate');
这是问题的根源。您可以做的是首先检查selectedDate
(传递给onClose
回调)是否有效,然后再尝试getDate
onClose: function(selectedDate) {
if (selectedDate) {
...
}
}
一旦关闭,检查minDate是否已定义,并在脚本的其余部分携带一个。您是对的。用Marco提供的条件语句解决了这个问题。谢谢你的帮助!