http://oshiete1.goo.ne.jp/qa2692133.html
でご教示いただいたJSは,チェックボックスのON/OFFに連動して
ラジオボタンのdisabledを解除するものです.
ところが本番環境は次のように大量です.
Q1 □チェック ◎ラジオ1 ○ラジオ2 ○ラジオ3 ○ラジオ4 ○ラジオ5
Q2 □チェック ◎ラジオ1 ○ラジオ2 ○ラジオ3 ○ラジオ4 ○ラジオ5
:(中略)
Q15 □チェック ◎ラジオ1 ○ラジオ2 ○ラジオ3 ○ラジオ4 ○ラジオ5
なので,Qの数(15問)だけまったく同じfunctionを連ねましたが(↓),
もっと効率よい書き方があれば教えてください.
<html>
<head>
<script>
function checkfunc1() {
for(i=0; i<5; i++) {
document.myform.rdo1[i].disabled = !(document.myform.yesno1.checked);
}
}
function checkfunc2() {
for(i=0; i<5; i++) {
document.myform.rdo2[i].disabled = !(document.myform.yesno2.checked);
}
}
</script>
</head>
<body onLoad="checkfunc1();checkfunc2();">
<form name="myform">
<input type="checkbox" name="yesno1" onClick="checkfunc1();">チェック
<input type="radio" name="rdo1">0
<input type="radio" name="rdo1">1
<input type="radio" name="rdo1">2
<input type="radio" name="rdo1">3
<input type="radio" name="rdo1">4<br>
<input type="checkbox" name="yesno2" onClick="checkfunc2();">チェック
<input type="radio" name="rdo2">0
<input type="radio" name="rdo2">1
<input type="radio" name="rdo2">2
<input type="radio" name="rdo2">3
<input type="radio" name="rdo2">4
</form>
</body>
</html>
No.1ベストアンサー
- 回答日時:
こんにちは。
こんなモンで どうでしょ?(↓)<html>
<head>
<script>
function checkfunc(x) {
for(i=0; i<5; i++) {
document.myform.elements[x * 6 + i + 1].disabled = !(document.myform.elements[x * 6].checked);
}
}
function multi() {
for(x=0; x<15; x++) {
checkfunc(x);
}
}
</script>
</head>
<body onLoad="multi();">
<form name="myform">
<script>
for(i=0; i<15; i++) {
document.write("<input type='checkbox' name='yesno" + (i+1) + "' onClick='checkfunc(" + i + ");'>チェック");
for(j=0; j<5; j++) {
document.write("<input type='radio' name='rdo" + (i+1) + "'>" + j);
}
document.write("<br>");
}
</script>
<br>
</form>
</body>
</html>
hkd9001さん,早速ご回答いただきありがとうございました.
forでまわして汎用性を持たせるわけですね.
ざっくりこのまま組み込ませていただきました.
大変助かりました,ありがとうございました.
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript javascript作成してます。ラジオボタンで判定するコードを書いてます。 1 2023/07/18 11:03
- HTML・CSS ただいま勉強始めたての初心者です。フォームを縦並べにしたいです。 2 2022/11/20 17:18
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- HTML・CSS CSS のみのタブ切り替えについて 1 2023/01/11 16:47
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- PHP $_SESSIONについて教えて下さい。 2 2023/03/02 09:18
- PHP PHPのエラーの解消法について教えて下さい。 1 2023/02/06 10:48
- HTML・CSS 私の能力からして間違っていないような気がします。 4 2022/09/30 13:24
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
- PHP PHP MySql 画像を取得 1 2022/06/04 14:05
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ラジオボタンの値でリンク先を...
-
Jvasvriptのlengthで個数が取得...
-
フォームPOST後「戻る」時のチ...
-
チェックされたラジオボタンに...
-
プルダウン選択を変更すると、...
-
onchangeイベントを強制的に発...
-
select要素のvalueを配列で取得...
-
度胸試しのJavaScript
-
動的なセレクトボックスの生成...
-
プルダウン 項目が多いので先頭...
-
return trueとreturn falseの用...
-
<JavaScript>tableタグを入力不...
-
メールフォーム:「必須項目」...
-
画面表示とともにtableの指定の...
-
正規表現で複数マッチ条件で悩...
-
フォームの入力チェックをする...
-
テキストボックス入力を半角英...
-
Selectボックスの一覧表示方法
-
innerHTML内では改行は禁止?
-
jQuery セレクトボックスで選択...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ラジオボタンにタブインデック...
-
ラジオボタンのチェックが外れ...
-
javascript作成してます。ラジ...
-
ラジオボタンでチェックした項...
-
ラジオボタンの値でリンク先を...
-
データベースの値を判断してラ...
-
Form内のselectを連動させるに...
-
フォームPOST後「戻る」時のチ...
-
【診断テストの作り方】結果に...
-
チェックボックスとテキストボ...
-
複数のラジオボタンでの選択で...
-
ラジオボタンのValueを受け取り...
-
チェックされたラジオボタンに...
-
ラジオボタンのリセット方法
-
チェックボックスのON/OFFに連...
-
JavaScript ラジオボタン デ...
-
jQueryで複数のラジオボタンを処理
-
ラジオボタンで診断テストを作...
-
ラジオボタンによる有効なボタ...
-
【javascript】firefoxでの、al...
おすすめ情報