日付ピッカーを放送月に入れる必要があり、コードを編集せずにそれを行う方法を見つけました。これまでのところほとんどの場合は機能しますが、問題が発生しています。
まず、私の回避策は次のとおりです。放送月の最初の週全体を取得することができます
。showOtherMonths:true, changeOtherMonths:true
翌月の最初の週も表示されているので、これを削除するために行っています(日曜日に終了する月の最後の週を削除せずに)
$(function() {
$(document).bind("click keypress", function(){
// find "1" listed in outside month and hide the row
$("table.ui-datepicker-calendar tbody td.ui-datepicker-other-month").filter(function(){
return $.text([this]) == '1';
}).closest("tr").hide();
// remove styling that differentiates outside month
$(".ui-priority-secondary").removeClass("ui-priority-secondary");
});
});
これはFirefoxとChromeで機能しますが、IE8(互換モード)では、最初に開いたときに最後の行のみがトリミングされます。日付ピッカー内の別の月をクリックした場合は、入力ボックスをもう一度クリックするか、上記のコードのブロックを起動するために日付ピッカーの背景をクリックする必要があります。
セクションで同じコードを呼び出そうとしましたonChangeMonthYear
が、私が知る限り、IEでは、カレンダーが新しい月で再描画される前にこのコードが実行されるため、この意味では役に立ちません。
また、changeMonth: true, changeYear: true
選択メニューを変更すると、上記のコードブロックはどのブラウザでも実行されず、回避策が見つかりませんでした。
これらの最後の障害を乗り越えることができれば、誰でもjquery-ui.jsを変更せずに放送月を表示して、googleなどでホストされているコードを使用できるようになります。
ありがとう!