2012-11-23 149 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