2

次のコードがあります

$("#in").datepicker({
    minDate: 0,
    onSelect: function (dateText, inst) {
        dateText = new Date(dateText);
        dateText = dateText.getDate()+1;
        $('#out').datepicker("option", 'minDate', dateText);
    }
});

例: https://jsfiddle.net/ANYTA/1/

ただし、outdatepicker は 1 日ではなく 10 日を追加しています。意図したとおりに動作させるには、何を変更できますか? どうもありがとうございます

4

2 に答える 2

6
dateText = dateText.setDate(dateText.getDate()+1);

ノート

somedate.setDate(days);
  1. は整数です

  2. 期待される値は1-31ですが、他の値も使用できます:

      2.1) 0 は前月の最後の時間になります

       2.1) -1 は、前月の最後の時間の 1 時間前になります。

  1. 月が 31 日ある場合、32 は翌月の 1 日になります。

  2. 月が 30 日ある場合、32 は翌月の 2 日になります。


あなたのコード

$("#in").datepicker({
    minDate: 0,
    onSelect: function(dateText, inst) {
       var actualDate = new Date(dateText);
       var newDate = new Date(actualDate.getFullYear(), actualDate.getMonth(), actualDate.getDate()+1);
        $('#out').datepicker('option', 'minDate', newDate );
    }
});

$("#out").datepicker();

デモ

于 2012-05-09T06:45:04.003 に答える
3

試す:

dateText.setDate(dateText.getDate() + 1);

getDate は月の 1 ~ 31 日を返すため、それに 1 を追加しても意味がありません。

setDate は日付を設定するため、日付に 1 日追加すると、実質的に 1 日追加されます。

(また、setDate はロールオーバーを処理するのに十分スマートです。つまり、1 月 31 日 + 1 == 2 月 1 日)

于 2012-05-09T06:43:37.673 に答える