JavaScript ベースで年・月・日の 3 階層連携を実現

JavaScript ベースで年・月・日の 3 階層連携を実現

この記事では、年、月、日の3段階のリンクを実現するためのJavaScriptの具体的なコードを参考までに共有します。具体的な内容は次のとおりです。

コード:

<!DOCTYPE html>
<html lang="ja">
<ヘッド>
    <メタ文字セット="UTF-8">
    <title>年、月、日の 3 段階のリンク</title>
</head>
<body onload="initYear(),initMonth()">
<select id="year"></select>年<select id="month" onchange="initDate()"></select>月<select id="date"></select>日<script>
    /**
     * 年を初期化 */
    関数initYear() {
        //現在の年を取得します。let curYear = new Date().getFullYear();
        //年リストオブジェクトを取得します。let yearObj = document.getElementById("year");
        yearObj.options.add(new Option("---年を選択してください---", ""));
        (let year = curYear; year > curYear - 100; year--) {
            オプション = new Option(year, year);
            yearObj.options.add(オプション);
        }
    }

    /**
     * 月を初期化 */
    関数 initMonth() {
        //年リストオブジェクトを取得します。let monthObj = document.getElementById("month");
        monthObj.options.add(new Option("---月を選択してください---", ""));
        (月 = 1; 月 <= 12; 月++) {
            オプションを新しいオプション(月、月)とします。
            monthObj.options.add(オプション);
        }
    }

    /**
     * 初期化日 */
    関数initDate() {
        dateObj = document.getElementById("date"); とします。
        // 選択された月を取得します。let month = document.getElementById("month").value;
        //月を選択すると、対応する日付がポップアップ表示されます dateObj.options.add(new Option("---日付を選択してください---", ""));
        //月を数値に変換します month = parseInt(month);
        // 月あたりの日数を定義します。let days = 31;
        スイッチ(月){
            ケース1:
            ケース3:
            ケース5:
            ケース7:
            ケース8:
            ケース10:
            ケース12:
                壊す;
            ケース4:
            ケース6:
            ケース9:
            ケース11:
                日数 = 30;
                壊す;
            ケース2:
                // うるう年かどうかを判定し、現在選択されている年を取得する必要があります。let year = document.getElementById("year").value;
                if (年 % 4 == 0 && 年 % 100 != 0 || 年 % 400 == 0) {
                    日数 = 29;
                } それ以外 {
                    日数 = 28;
                }
                壊す;
        }
        // 取得した日数をループする for (let i = 1; i <= days; i++) {
            オプションを新しいオプション(i, i)とします。
            dateObj.options.add(オプション);
        }
    }
</スクリプト>
</本文>
</html>

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • jsは年、月、日の3段階のリンクを実現します

<<:  Mysql Explainコマンドの使用と分析

>>:  Windows サーバー管理におけるセキュリティの考慮事項

推薦する

Docker Compose のサイドカーモードの詳細な説明

目次Docker Composeとは要件に不適切な言語が使用されている実装Docker Compos...

SQLでEXPLAINコマンドを使用する方法

日常業務では、実行に時間のかかる SQL ステートメントを記録するために、スロー クエリを実行するこ...

select count() と select count(1) の違いと実行方法

Count(*) または Count(1) または Count([column]) は、おそらく S...

WeChat アプレットの日付と時刻のコンポーネント (年、月、日、時間、分)

この記事の例では、WeChatアプレットの日付と時刻コンポーネントの具体的なコードを参考までに共有し...

Vueのハッシュジャンプ原理の詳細な説明

目次ハッシュと履歴の違いハッシュ履歴getCurrentLocation の実装setupListe...

MySQL スローログ実践のまとめ

遅いログクエリ機能スロー ログ クエリの主な機能は、設定された時間しきい値を超える SQL ステート...

Zabbix ベースの Jenkins プロセス監視の詳細な説明

1. 監視アーキテクチャ図 2. 実装のアイデアJenkins に Metrics プラグインをイン...

DockerコンテナでArthasを使用するための詳細な手順

Arthas はあなたのために何ができるでしょうか? Arthas 、開発者に深く愛されている Al...

Docker の Windows ストレージ パス設定操作

Windows 10 に Docker をインストールする場合、コンテナタイプを Linux コンテ...

MySQL のマスタースレーブレプリケーションと読み取り書き込み分離の原理と使用法の詳細な説明

この記事では、例を使用して、MySQL マスター/スレーブ レプリケーションと読み取り/書き込み分離...

MySQL の自動インクリメント主キーが連続していないのはなぜですか?

目次1. はじめに2. 自己増分ストレージの説明3つの自己付加価値修正メカニズム4. 自己評価を修正...

Win10 での MySQL 8.0.20 のインストールと設定のチュートリアル

Win10 システムでの MySQL 8.0.20 のインストールと設定の超詳細なチュートリアルMy...

MySQL データベースのデータ テーブルの最適化、外部キーの分析、3 つのパラダイムの使用

この記事では、例を使用して、MySQL データベースのデータ テーブルの最適化、外部キーの使用、およ...

HTML タグ: サブタグと sup タグ

今日はあまり使わないHTMLタグ「subタグ」と「supタグ」を紹介します。関連記事: HTML タ...

浮遊する雲のアニメーションを実現するCSS3

操作効果 html <ヘッド> <メタ文字セット='UTF-8'&...