SOの周りにはこの問題に関する非常に多くの役立つトピックがあるようですが、それらすべてを組み合わせることができません. スタンドアロンでうまく機能します。しかし、それは私が問題を抱えている機能を組み合わせています。
私が持っているもの:
- jquery datepicker を使用する「from」および「to」入力フィールド。
- ユーザーが「開始日」を選択すると、「終了日」は、選択した日付に基づいて +4 日先の日付を選択できるようになります。(編集済み)
- 3 番目の非表示のフィールドは、選択間の日数を計算します。
ここに私が現在持っているもののフィドルがあります:http://jsfiddle.net/hVnRu/
問題:
- ユーザーがある月で「開始日」を選択し、別の月で「終了日」を選択した場合 (例: 2013 年 8 月 30 日 - 2013 年 9 月 2 日)、計算フィールドは正しくありません。
- 「to」フィールドは、以前に選択したフィールドからの minDate 4+ 日を考慮していません。
そして最後に、これが私のコードです(これはすべて上記のフィドルにあります):
$(function () {
$("#from, #to").datepicker({
onSelect: function () {
var from = new Date($("#from").val().split("/").reverse().join(","));
var to = new Date($("#to").val().split("/").reverse().join(","));
var total = ((to - from) / 2592000000);
var rounded = Math.round(total);
$("#totaldays").val(rounded);
}
});
$("#from").datepicker({
minDate: 4,
defaultDate: "+1w",
changeMonth: true,
numberOfMonths: 2,
onClose: function (selectedDate) {
$("#to").datepicker("option", "minDate", selectedDate);
}
});
$("#to").datepicker({
defaultDate: "+1w",
changeMonth: true,
numberOfMonths: 2,
onClose: function (selectedDate) {
$("#from").datepicker("option", "maxDate", selectedDate);
}
});
});
これを手伝ってくれる人に感謝します。