JSONファイルからプルダウンメニューを表示する方法【HTML & JavaScript】

Webアプリ開発

今回は、HTMLとJavaScriptを使って、外部のJSONファイルからプルダウンメニューの項目を動的に表示する方法をご紹介します。JSONファイルを使うことで、簡単に外部データを取り込み、動的にプルダウンの内容を管理することができます。

このプロジェクトでは、以下の3つのファイルを作成します。

1. HTMLファイル(index.html – プルダウンメニューのベースとなるHTML
2. JSONファイル(data.json – プルダウンメニューの項目を格納するデータ
3. JavaScriptファイル(script.js – JSONデータを読み込み、HTMLに反映させるスクリプト

1. JSONファイル(data.json)

まず、プルダウンメニューに表示するデータをJSON形式で用意します。今回は、シンプルなオプションを用意します。

{
  "options": [
    "Option 1",
    "Option 2",
    "Option 3",
    "Option 4"
  ]
}

このデータは後ほどJavaScriptで読み込み、プルダウンメニューの項目として動的に追加されます。

2. HTMLファイル(index.html)

次に、HTMLファイルを作成します。<select>タグを用意して、JavaScriptでJSONから読み込んだオプションをここに挿入します。

<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>プルダウンの項目をJSONから表示</title>
</head>
<body>
    <h1>プルダウンメニュー</h1>
    <select id="dropdown">
        <!-- オプションはJavaScriptで追加されます -->
    </select>

    <script src="script.js"></script>
</body>
</html>

3. JavaScriptファイル(script.js)

続いて、JavaScriptでJSONファイルを読み込み、プルダウンメニューに項目を動的に追加するコードを実装します。

// JSONファイルを読み込む関数
function loadOptions() {
    // data.json から JSON データをフェッチ
    fetch('data.json')
        .then(response => {
            if (!response.ok) {
                throw new Error('Network response was not ok');
            }
            return response.json();  // JSON を JavaScript オブジェクトに変換
        })
        .then(data => {
            const dropdown = document.getElementById('dropdown');
            
            // JSONデータのオプションをプルダウンに追加
            data.options.forEach(option => {
                const optionElement = document.createElement('option');
                optionElement.textContent = option;
                optionElement.value = option;
                dropdown.appendChild(optionElement);
            });
        })
        .catch(error => {
            console.error('Error fetching the JSON data:', error);
        });
}

// ページが読み込まれたらオプションを表示
window.onload = loadOptions;

このスクリプトでは、fetch() APIを使ってJSONファイルを読み込み、そのデータをHTMLの<select>タグ内に動的に追加しています。window.onloadイベントを使って、ページが読み込まれたときにプルダウンメニューが生成されるようにしています。

4. ファイル構成

以下のようにファイルを配置してください。

/project
   ├── index.html
   ├── script.js
   └── data.json

動作確認

1. 上記の3つのファイルをそれぞれ作成します。
2. ブラウザでindex.htmlを開きます。JSONファイルからデータが読み込まれ、プルダウンメニューにオプションが表示されることを確認できます。

まとめ

このように、JSONファイルからデータを読み込み、HTMLのプルダウンメニューに動的に表示することができます。外部データを簡単に管理したい場合や、頻繁に変更されるデータを扱う場合に非常に便利です。ぜひプロジェクトに取り入れてみてください!

以上の内容をブログに投稿することで、外部JSONファイルを使用してプルダウンメニューを動的に表示する方法を読者に伝えることができます。

タイトルとURLをコピーしました