0

日付ピッカーを放送月に入れる必要があり、コードを編集せずにそれを行う方法を見つけました。これまでのところほとんどの場合は機能しますが、問題が発生しています。

まず、私の回避策は次のとおりです。放送月の最初の週全体を取得することができます
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");
    });
});

jsfiddleでの作業

これはFirefoxとChromeで機能しますが、IE8(互換モード)では、最初に開いたときに最後の行のみがトリミングされます。日付ピッカー内の別の月をクリックした場合は、入力ボックスをもう一度クリックするか、上記のコードのブロックを起動するために日付ピッカーの背景をクリックする必要があります。

セクションで同じコードを呼び出そうとしましたonChangeMonthYearが、私が知る限り、IEでは、カレンダーが新しい月で再描画される前にこのコードが実行されるため、この意味では役に立ちません。

また、changeMonth: true, changeYear: true選択メニューを変更すると、上記のコードブロックはどのブラウザでも実行されず、回避策が見つかりませんでした。

これらの最後の障害を乗り越えることができれば、誰でもjquery-ui.jsを変更せずに放送月を表示して、googleなどでホストされているコードを使用できるようになります。

ありがとう!

4

0 に答える 0