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 サーバー管理におけるセキュリティの考慮事項

推薦する

Reactコンポーネント通信の詳細な説明

目次コンポーネント通信の概要コンテンツ3つの方法まとめコンポーネントコミュニケーション - 父から息...

Linux の操作とメンテナンスの基本 httpd 静的 Web ページ チュートリアル

目次1. ウェアハウスを使用してhttpd lrzsz解凍ファイルを作成する2. ソースコードファイ...

CSS スタイルが機能しない (史上最も完全な解決策の概要)

ページを作成するときに、記述した CSS スタイルが有効にならないことがあります。この現象にはさまざ...

HTML ページでギリシャ文字を使用する方法

ギリシャ文字は、特に数学や物理学などの科学技術分野で非常によく使用される記号列であり、特定の意味を持...

バントリストコンポーネントをスクロールしても、スクロールバーの位置は保持されます。

バントリストコンポーネントをスクロールするときに、スクロールバーの位置が保持されます。これは、kee...

MySQL で複数のフィールドを連結する詳細な例

MySQL クエリ結果の行フィールドの結合は、次の 2 つの関数を使用して実装できます。 1. co...

vue.jsは画像のURLに従って画像をダウンロードします

最近、フロントエンドの vue.js ドッキング機能モジュールに取り組んでいたとき、画像をダウンロー...

mysql mycat ミドルウェアのインストールと使用

1. mycatとはエンタープライズアプリケーション開発のための完全にオープンソースの大規模データベ...

CSS を使用して 3 列レイアウトを実装するサンプル コード。中央の列は適応型で、テキスト サイズに応じて幅が変わります。

Baiduのインタビューで遭遇する質問は、次のレイアウト効果を達成する必要がある。 中央の紫色の列...

JQuery データグリッドクエリの詳細な説明

目次ツリー項目にコードを追加します。 1. 右側に関連情報ページを保存します(userManage....

vue+openlayer をベースにマップの集約と散乱効果を実現

目次序文:結果: 1.重合効果: 2. 散布効果:具体的な実装手順: 1. プロジェクトにOpenL...

CSS3 画像の境界線を学ぶのに役立つ記事

CSS3 border-image プロパティを使用すると、要素の周囲に画像の境界線を設定できます。...

NginxとLuaによるグレースケールリリースの実装

memcachedをインストールする yum インストール -y memcached #memcac...

Alibaba Cloud Docker Yum ソースを使用した Docker 17.03.2 の CentOS7 オンラインインストールの詳細説明

参照ドキュメント公式 Docker インストール ドキュメント: https://docs.dock...

Alibaba Cloud Server Ubuntu 上の Workbench が MySQL に接続できない問題の解決策 (テスト済み)

過去 2 日間、ワークベンチが Alibaba Cloud Server に接続できない問題を解決す...