2012-11-23 147 views
0

我的日期选择器出现问题。当我将文本字段对焦时,它会正确显示,但是当我单击屏幕中的其他任何位置(使其消失)时,如果我再次对文本字段进行对焦而不预先选择另一个元素,则日期选择器不会显示。日期选择器不显示

下面是代码:

$(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)); 
      } 
     }); 
    }); 

回答

1

的问题是在你的onClose功能。当您拨打$("#datepicker").datepicker('getDate').getdate()时,您可以运行调用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/

+0

代码不为我工作...我不知道什么是问题 – user1786381

+0

代码本身也不适用于我,我只是复制他的代码,并实施我的修复程序,使他更容易。检查下面我为工作代码添加的jsfiddle。另外,如果您使用的是Chrome,请检查JS控制台是否有错误 – jcolicchio