0

ユーザーがFullcalendardayClickイベントの月表示で日枠をクリックすると、この特定の日付が利用できないことを通知するアラートが必要です。たとえば、労働者の日の休日などです。

私はこのコードを書きましたが、機能していません。誰かがここで何が悪いのかを理解するのを手伝ってくれる必要があります。

    dayClick: function (date, allDay, jsEvent, view) {   
    var myDate=new Date();
    myDate.setFullYear(2012,09,02);

    if (date == myDate){
        alert('Labor Day Weekend. No reservations available'); 
        $(this).css('background-color', 'red');
        return false;

また、「赤」スロットはこの「ブロックされた」日に機能しますが、カレンダーの別の日をクリックすると、それも赤に変わります。ここで何が問題になっていますか?助けてください!ご助力ありがとうございます!

4

1 に答える 1

0

いくつかのこと:

  1. 日付の月は0ベースです。つまりmyDate.setFullYear(2012,09,02)、日付を2012年10月2日に設定しています。9月2日に設定しようとしていたと思います。この場合はを使用する必要がありますmyDate.setFullYear(2012,08,02)
  2. これを行うnew Date()と、現在の日付と時刻で日付が作成されます。そして、あなたがdate.setFullYear()それをするとき、それは日付だけを上書きします-時間ではありません。これにより、比較で問題が発生する可能性があります。私はいつもnew Date(2012, 9, 2, 0, 0, 0, 0)これを単純に使ってきました。
  3. 最後に、これがあなたの側で問題を引き起こしていると思います、==オペレーターは日付のために働きません。valueOf比較する関数を明示的に使用する必要があります-のようにgetTime()。詳細については、この回答を参照してください。

私はあなたのためにこれらすべてをフィドルにまとめました-http ://jsfiddle.net/100thGear/sStbC/

これが役立つかどうか教えてください!

于 2012-08-27T17:21:50.743 に答える