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));
            }
        });
    });
4

1 に答える 1

1

問題はあなたのonClose機能にあります。を呼び出すと、null$("#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/

于 2012-11-23T07:32:30.670 に答える