我对jquery datepicker和IE8有一个奇怪的问题。我使用jquery datepicker在表单中有2个日期字段。单击第一个字段并选择日期将自动填充第二个日期字段,其中选择日期为datefield1 +一天 - 在FF,Chrome和最新的IE中,一切正常。但是使用IE8,第二个日期字段已填满但未传输。
这是我的代码:
$("#datePick1").datepicker({
dateFormat: "dd.mm.yy",
numberOfMonths: 1,
showOn: "both",
buttonImage: "images/calendar.png",
buttonImageOnly: true,
changeMonth: true,
constrainInput: true,
showButtonPanel: true,
hideIfNoPrevNext: false,
minDate: 0,
onSelect: function(date) {
var date2 = $('#datePick1').datepicker('getDate');
date2.setDate(date2.getDate() + 1);
$('#datePick2').datepicker('setDate', date2);
$('#datePick2').datepicker('option', 'minDate', date2);
var dateParts = date.split(".");
$('#start_d').val(dateParts[0]);
$('#start_m').val(dateParts[1]);
$('#start_y').val(dateParts[2]);
if ($('#datePick1').val() != '' && $(this).is('#datePick1'))
{
setTimeout(function() {
$('#datePick2').datepicker('show');
}, 1);
}
}
}).on('focus', function() {
$(this).trigger('blur');
});
$('#datePick2').datepicker({
dateFormat: "dd.mm.yy",
numberOfMonths: 1,
showOn: "both",
buttonImage: "images/calendar.png",
buttonImageOnly: true,
changeMonth: true,
showButtonPanel: true,
hideIfNoPrevNext: false,
onClose: function(date2) {
var datePick1 = $('#datePick1').datepicker('getDate');
console.log(datePick1);
var datePick2 = $('#datePick2').datepicker('getDate');
if (datePick2 <= datePick1) {
var minDate = $('#datePick2').datepicker('option', 'minDate');
$('#datePick2').datepicker('setDate', minDate);
}
var dateParts = date2.split(".");
$('#end_d').val(dateParts[0]);
$('#end_m').val(dateParts[1]);
$('#end_y').val(dateParts[2]);
}
}).on('focus', function() {
$(this).trigger('blur');
});
使用IE8调试器告诉我var dateParts = date2.split(".");
未定义(参见第二个块)。
有什么想法吗?