- ベストアンサー
JScalendarのカレンダー設定について
- JScalendarを用いてポップアップカレンダーを表示するページを作成していますが、アクセス日より1年半前の日付を指定したくありません。
- 現在使用しているJScalendarのバージョンはvar1.00であり、新しいバージョンのmin maxパラメータではなく、別の方法で日付を指定する必要があります。
- しかし、正しい設定方法がわからず困っています。JScalendarの公式ページを見ても解決策が見つからず、どのような情報でも助かります。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
<!-- main calendar program --> <script type="text/javascript" src="calendar.js"></script> <!-- language for the calendar --> <!-- 日本語も用意されてるけど動かない --> <script type="text/javascript" src="calendar-en.js"></script> <!-- the following script defines the Calendar.setup helper function, which makes adding a calendar a matter of 1 or 2 lines of code. --> <script type="text/javascript" src="calendar-setup.js"></script> <!-- setup例 --> <!-- 入力先要素とトリガー要素 --> <input type="text" id="field"><button id="trigger">...</button> <script type="text/javascript"> (function() { var d = new Date(); var y = d.getFullYear(); var old = d.getTime() - (86400000 * 500); // 500日前の時間値 Calendar.setup({ inputField : "field", // id of the input field ifFormat : "%Y/%m/%d", // format of the input field showsTime : false, // will display a time selector button : "trigger", // trigger for the calendar (button ID) singleClick : false, // double-click mode range: [ y - 2, y + 2 ], // 前後2年を上限 // 500日以前を無効 disableFunc: function (date, year, month, iday) { if (date.getTime() <= old) return true; } // 日曜日を無効 //disableFunc: function (date, year, month, iday) { if (date.getDay() === 0) return true; } // 3の付く日を無効 //disableFunc: function (date, year, month, iday) { if (iday % 10 === 3 || iday >= 30) return true; } }); })(); </script> Calendar.setupからも関数オブジェクトを渡せるようですね。 disableFuncの値に真値を返す関数オブジェクトを設定。 この関数はその月の日数分呼出されます。 受け取れる引数は順に、Dateオブジェクト、年、月(-1)、日。 The Ex-“Coolest” DHTML Calendar :: Dynarch.com http://www.dynarch.com/projects/calendar/old ファイルはここから DHTML Calendar Widget http://www.dynarch.com/static/jscalendar-1.0/doc/html/reference.html#node_sec_2.3 Calendar.setup オプションプロパティ解説(英語)
その他の回答 (1)
- yyr446
- ベストアンサー率65% (870/1330)
これじゃないでしょうか? http://www.dynarch.com/static/jscalendar-1.0/doc/html/reference.html#node_sec_5 function disallowDate(date) { // date is a JS Date object if ( date.getFullYear() == 2003 && date.getMonth() == 6 /* July, it's zero-based */ && date.getDate() == 5 ) { return true; // disable July 5 2003 } return false; // enable other dates }; calendar.setDisabledHandler(disallowDate); ifの条件をお望みの範囲に変更すればよいんじゃない。