jQuery UI の Datepicker でカレンダーを月曜始まりにする方法
jQuery UI の Datepicker は、カレンダーを表示するためのプラグインです。基本となる実装方法、ならびに日本語対応の手順については、次のページを参照ください。
Datepicker で表示されるカレンダーは初期設定で「日曜始まり」になっています。一般向けであればこのままで何も問題ありませんが、企業向けシステムの場合「月曜始まり」にして欲しいと要望を受けることがあります。
そんな場合でも Datepicker のプラグインであれば、オプション設定により開始曜日を変更することができます。更に月曜だけでなく、特定の曜日から開始するカレンダーを表示させることも可能です。
では、具体的なオプション設定の方法について解説していきましょう。
Datepicker でカレンダーを月曜始まりにする
開始曜日を変更するオプション設定
オプション | 内容 |
---|---|
firstDay | カレンダーの開始の曜日を指定します。 0 : 日曜日 (初期値) 1 : 月曜日 2 : 火曜日 3 : 水曜日 4 : 木曜日 5 : 金曜日 6 : 土曜日 |
オプション項目は Datepicker 呼び出し時の引数として設定します。 {} カッコでくくり「オプション名 : 設定値」のフォーマットで書きます。今回の例では1つしか設定しませんが、複数オプションを設定する場合はカンマ区切りで指定します。
では月曜始まりカレンダーを表示させるサンプルプログラムをご覧ください。
<input type="text" id="xxdate" />
テキストボックスの属性は id ではなく class でも大丈夫です。同一画面上に複数のカレンダー入力項目がある場合は、class で指定したほうが便利です。
$(function() { $("#xxdate").datepicker( { firstDay: 1 // 月曜始まり } ); // 日本語化 $.datepicker.regional['ja'] = { closeText: '閉じる', prevText: '<前', nextText: '次>', currentText: '今日', monthNames: ['1月','2月','3月','4月','5月','6月', '7月','8月','9月','10月','11月','12月'], monthNamesShort: ['1月','2月','3月','4月','5月','6月', '7月','8月','9月','10月','11月','12月'], dayNames: ['日曜日','月曜日','火曜日','水曜日','木曜日','金曜日','土曜日'], dayNamesShort: ['日','月','火','水','木','金','土'], dayNamesMin: ['日','月','火','水','木','金','土'], weekHeader: '週', dateFormat: 'yy/mm/dd', firstDay: 0, isRTL: false, showMonthAfterYear: true, yearSuffix: '年'}; $.datepicker.setDefaults($.datepicker.regional['ja']); });
日本語化のソース(6~25行目)は不要であれば削除してください。
月曜始まりのカレンダーを表示するサンプル
前述の通り、オプション設定値に応じて他の曜日から開始することも可能です。ただ、他の曜日から始まるカレンダーを見かける機会がないため、利用者の混乱を避けるために「日曜始まり」もしくは「月曜始まり」のどちらかを利用するようにしましょう。
以上、jQuery UI の Datepicker でカレンダーを月曜始まりにする方法でした。