日期选择器没有显示

时间:2012-11-23 07:11:51

标签: jquery-ui-datepicker

我的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));
            }
        });
    });

1 个答案:

答案 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));
          }
       }
    });
});

修改:如果您需要一个有效的概念验证,请jsfiddlehttp://jsfiddle.net/jcolicchio/fpS2Q/