我的datepicker有问题。当我对正确显示的文本字段进行聚焦时,但是当我单击屏幕中的任何其他位置(使其消失)时,如果我再次聚焦文本字段而不事先选择其他元素,则不会显示日期选择器。
以下是代码:
$(function () {
$('.date-picker').datepicker({
changeMonth: true,
changeYear: true,
changeDay: true,
showButtonPanel: true,
dateFormat: 'dd MM yy',
onClose: function (dateText, inst) {
var day = $("#datepicker").datepicker('getDate').getDate();
var month = $("#datepicker").datepicker('getDate').getMonth() + 1;
var year = $("#datepicker").datepicker('getDate').getFullYear();
$(this).datepicker('setDate', new Date(year, month, day));
}
});
});
答案 0 :(得分:1)
问题出在您的onClose
功能中。当您调用$("#datepicker").datepicker('getDate').getdate()
时,您可以在null上调用getDate()
。
以下应该解决问题,希望它适用于你=)
$(function () {
$('.date-picker').datepicker({
changeMonth: true,
changeYear: true,
changeDay: true,
showButtonPanel: true,
dateFormat: 'dd MM yy',
onClose: function (dateText, inst) {
var getdate = $('#datepicker').datepicker('getDate');
if(getdate) {
var day = getdate.getDate();
var month = getdate.getMonth() + 1;
var year = getdate.getFullYear();
$('#datepicker').datepicker('setDate', new Date(year, month, day));
}
}
});
});
修改:如果您需要一个有效的概念验证,请jsfiddle
:http://jsfiddle.net/jcolicchio/fpS2Q/