postnote
 コードテスト1 

<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>複数チェック{ックスの反映</title>
<style>
/* レイアウトのスタイル */
#container {
display: flex;
justify-content: space-between;
padding: 20px;
}
#checkbox-container {
width: 30%;
display: flex; /* ラベルを縦に並べる */
flex-direction: column; /* ラベルを縦に並べる */
}
#iframe-container {
width: 60%;
border: 1px solid #ccc;
padding: 10px;
}
/* チェック{ックスとラベルの間隔調整 */
#checkbox-container label {
margin-bottom: 5px;
}
</style>
</head>
<body>
<div id="container">
<div id="checkbox-container">
<h3>チェック{ックス</h3>
<label>
<input type="checkbox" name="option" value="チェック1" onclick="updateIframe()"> チェック1
</label>
<label>
<input type="checkbox" name="option" value="チェック2" onclick="updateIframe()"> チェック2
</label>
<label>
<input type="checkbox" name="option" value="チェック3" onclick="updateIframe()"> チェック3
</label>
<label>
<input type="checkbox" name="option" value="その他" onclick="updateIframe()"> その他
</label>
</div>

<div id="iframe-container">
<iframe id="iframe" srcdoc="<html><body><h2>ここに反映されます</h2></body></html>" width="100%" height="200px"></iframe>
</div>
</div>

<script>
function updateIframe() {
var iframe = document.getElementById("iframe");
// name属性が "option" であるすべてのチェック{ックス要素を取得
var checkboxes = document.querySelectorAll('input[name="option"]');
var selectedLabels = []; // 選択されたラベルを格納する配列

// 各チェック{ックスをループ処理
checkboxes.forEach(function(checkbox) {
if (checkbox.checked) {
// チェックが入っていれば、そのvalue属性の値(ラベル文字列)を配列に追加
selectedLabels.push(checkbox.value);
}
});

var message = "";
if (selectedLabels.length > 0) {
// 選択されたラベルがある場合、カン}区切りで連結
message = "選択された項目: " + selectedLabels.join("、"); // 区切り文字を「、」に変更
} else {
// 何も選択されていない場合
message = "項目が選択されていません";
}

// iframe内のドキュメントを取得して更新する
var iframeDocument = iframe.contentDocument || iframe.contentWindow.document;
iframeDocument.body.innerHTML = "<h2>" + message + "</h2>";
}

// ページ読み込み時にも初期状態を表示するために呼び出す (任意)
// updateIframe();
</script>
</body>
</html>

<script>
/*
checkbox-container 内に複数の <label> と <input type="checkbox"> を配置しました。
各チェック{ックスに共通の name="option" 属性を追加しました。これにより、JavaScriptでまとめて取得しやすくなります。
各チェック{ックスの value 属性に、隣に表示するラベルと同じ文字列(例: "チェック1")を設定しました。JavaScriptでこの値を取得して表示します。
各チェック{ックスに onclick="updateIframe()" を設定し、いずれかのチェック{ックスの状態が変わるたびに updateIframe 関数が呼ばれるようにしました。
CSSに #checkbox-container label { margin-bottom: 5px; } を追加し、チェック{ックス間の縦の間隔を調整しました。また、display: flex; と flex-direction: column; を追加して縦に並ぶようにしました。
JavaScript (updateIframe 関数):

document.querySelectorAll('input[name="option"]') を使って、name 属性が "option" である全てのチェック{ックスを取得します。
selectedLabels という空の配列を用意します。
forEach ループを使って、取得した各チェック{ックスを調べます。
if (checkbox.checked) で、チェック{ックスがチェックされているかを確認します。
チェックされていれば、そのチェック{ックスの value 属性の値 (checkbox.value) を selectedLabels 配列に追加します。
ループ終了後、selectedLabels 配列に格納された文字列を join("、") を使って「、」で連結し、表示用のメッセージを作成します。
選択された項目がない場合は、「項目が選択されていません」というメッセージを表示します。
最後に、作成したメッセージをインラインフレーム (iframe) の中身として表示します。
これで、チェックを入れた項目のラベル文字列がインラインフレーム内に表示されるようになります。
複数チェックを入れると、それらのラベルが「、」で区切られて表示されます。
*/
</script>




使用変数

charset
checkbox) { if -------( Function )
checkboxes
content
height
id
iframe
iframeDocument
innerHTML
lang
message
name
onclick
scale
selectedLabels
srcdoc
type
updateIframe -------( Function )
value
width