MTAppDateAssist

テキスト欄の直後に「今日」「明日」「明後日」ボタンを付与し、クリックでその日付を入力する jQuery プラグイン。gengo オプションで元号表記(元号は日付から自動判定)。

テキスト入力欄の直後に「今日」「明日」「明後日」のボタンを付与する jQuery プラグインです。ボタンを押すと、その日付を欄へ入力します。gengo オプションを true にすると元号表記で入力します。

構文

$(selector).MTAppDateAssist(options);

$.fn プラグイン($(selector).MTAppDateAssist(...))です。対象要素(this)を返すのでチェーンできます。

パラメータ

options {Object} — 省略可。以下のプロパティを持ちます。

プロパティ既定値説明
gengobooleanfalsetrue で元号表記(例: 令和8年06月25日)。false のときは西暦(YYYY-MM-DD

戻り値

{jQuery} — 対象要素(チェーン可能)。

保存される値

日付文字列が保存されます。gengo: false(既定)は YYYY-MM-DDgengo: true元号N年MM月DD日(例 令和8年06月25日)の形式です。ボタンで選んだ日付が欄にセットされ、それが保存値になります。

使用例

基本(西暦で入力)

$('#customfield_date').MTAppDateAssist();
// 「今日」を押すと 2026-06-25 のように入力される

元号表記で入力

$('#customfield_date').MTAppDateAssist({ gengo: true });
// 「今日」を押すと 令和8年06月25日 のように入力される

user.js での記述例

user.js(「デザイン → user.js を編集」)に書く場合は、mtappVars.screen_id で画面を判定して呼び出します。

(function ($) {
    if (typeof mtappVars !== 'object') return;
    if (mtappVars.screen_id === 'edit-entry') {
        $('#customfield_date').MTAppDateAssist();
    }
})(jQuery);

生成される HTML

対象要素の直後に、ボタンが 3 つ(今日・明日・明後日の順)追加されます。クラスは day_0day_1day_2(いずれも管理画面の button スタイルを併用)。

<input type="text" id="customfield_date" class="text">
<span class="day_0 button">今日</span>
<span class="day_1 button">明日</span>
<span class="day_2 button">明後日</span>

補足

  • 日付はボタンをクリックした時点を基準に算出します(当日=0 日後、明日=1 日後、明後日=2 日後)。ページを長時間開いたままでも「今日」は実際の当日になります。
  • 西暦表記は YYYY-MM-DD(月・日は 2 桁ゼロ埋め)。元号表記は 元号N年MM月DD日(その年の 1 年目は「元年」)。
  • 元号は日付から自動判定します(令和・平成・昭和・大正・明治のテーブルで、開始日と比較して該当する元号を選ぶ)。改元は年の途中で起こるため、年ではなく日付で判定します(例: 2019-04-30 は平成31年、2019-05-01 は令和元年)。明治より前の日付は元号に対応せず、西暦表記にフォールバックします。
  • クリックハンドラは click.mtappdateassist 名前空間で、ボタン生成時にクロージャ参照で対象欄に紐づきます。そのため後続メソッド(MTAppRemoveVal など)が入力欄をラップしても正しく動作します。
  • スタイルシートで入力欄との縦の間隔(margin-top)だけを足し、左端揃え・ボタン間の横の間隔は管理画面標準の button スタイルに従います(MTAppTaxAssist のボタンと同じ見た目)。

関連

  • MTAppTaxAssist — 数値欄に税込/税抜の計算ボタンを付与する。
  • MTAppNumChecker — 数値欄の全角→半角変換と範囲(最小・最大)チェックを行う。
  • MTAppMaxLength — テキスト欄の最大文字数チェックと残り文字数カウンタを表示する。