AnyTimeのデータ範囲セレクターのコードをまとめることができました。
$(document).ready(function() {
$("#date_start").AnyTime_noPicker().removeAttr("disabled").AnyTime_picker({format:"%Y-%m-%d",earliest:new Date(2000,0,1,0,0,0)});
$("#date_end").AnyTime_noPicker().removeAttr("disabled").AnyTime_picker({format:"%Y-%m-%d",earliest:new Date(2000,0,1,0,0,0)});
var rangeFormat = "%Y-%m-%d";
var rangeConv = new AnyTime.Converter({format:rangeFormat});
var oneDay = 60*1*1000;
$("#date_start").change( function() {
var fromDay = rangeConv.parse($("#date_start").val()).getTime();
var ToDay = rangeConv.parse($("#date_end").val()).getTime();
if (fromDay > ToDay) {
var ninetyDaysLater = new Date(fromDay + oneDay);
$("#date_end").AnyTime_noPicker().removeAttr("disabled").val(rangeConv.format(ninetyDaysLater)).AnyTime_picker({
earliest: ninetyDaysLater,
format: rangeFormat
});
}
});
$("#date_end").change( function() {
var fromDay = rangeConv.parse($("#date_end").val()).getTime();
var ToDay = rangeConv.parse($("#date_start").val()).getTime();
if (fromDay < ToDay) {
var ninetyDaysLater = new Date(fromDay - oneDay);
$("#date_start").AnyTime_noPicker().removeAttr("disabled").val(rangeConv.format(ninetyDaysLater)).AnyTime_picker({
earliest: ninetyDaysLater,
format: rangeFormat
});
}
});
});
... 次の HTML 要素があります。
<label for="date_start">Start Date of Event</label>
<input type="text" name="date_start" value="" id="date_start" />
<label for="date_end">End Date of Event</label>
<input type="text" name="date_end" value="" id="date_end" />
ただし、エラーが発生しますが、その理由はわかりません。
他のウェブサイトや私が見つけたいくつかのチュートリアルで同様のコードを見つけたので、コードの何が問題なのかわかりません。
最初の日付フィールドをクリックすると、大量のエラーが表示されます。
「%Y-%m-%d」形式ではありません
... AnyTime 自体のコード (anytime.5.0.1-1403131246.js) の 971 行目に 2 回表示され、その後に同じファイルの同じ行にグループ化された 3 つが続きます。2 番目のフィールドをクリックすると、同じエラーが発生します。しかしその後、コードは機能し始めます。
コード内のソースを分離できないため、どこから始めればよいかわかりません (jQuery の学習モードは緑色です)。