5

ここでこのような他の質問を読みましたが、私が望むことを正確に行うものはありません。

2 つの日付の間のすべての日にクラスを追加したいと考えています。日付は変数に設定されます。

何かご意見は?

4

1 に答える 1

13

datepicker のbeforeShowDay イベントを実装する必要があります。

この関数は日付をパラメータとして取り、この日付が選択可能かどうかを示す true/false に等しい [0]、CSS クラス名または '' に等しい [1] の配列を返す必要があります。 、[2] この日付のオプションのポップアップ ツールチップ。表示される前に、日付ピッカーで毎日呼び出されます。

したがって、次のようなことを行う必要があります。

$("#datepicker").datepicker({
    beforeShowDay: function(d) {
        var a = new Date(2012, 3, 10); // April 10, 2012
        var b = new Date(2012, 3, 20); // April 20, 2012
        return [true, a <= d && d <= b ? "my-class" : ""];
    }
});

デモ:

$(function() {
  $("#datepicker").datepicker({
    beforeShowDay: function(d) {
      // a and b are set to today ± 5 days for demonstration
      var a = new Date();
      var b = new Date();
      a.setDate(a.getDate() - 5);
      b.setDate(b.getDate() + 5);
      return [true, a <= d && d <= b ? "my-class" : ""];
    }
  });
});
@import url("https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/themes/blitzer/jquery-ui.min.css");

.my-class a {
  background: #FC0 !important;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/jquery-ui.min.js"></script>

<input id="datepicker">

別のデモはこちら

于 2012-04-16T11:51:22.987 に答える