下記のようにフォームがあります。
チェックボックスをクリックして始めて、
同列のラジオボタンが選択できるようにしたいと考えております。
現在は、質問1のみですが質問の数がその下に増えていくと考えた場合、(例えば質問10まであると仮定して考えてください。)どのようにスクリプトを書いていけば、スマートになるかお知恵を貸していただけませんでしょうか?
よろしくお願いいたします。
<form name="form1">
<table><tr>
<th><input type="checkbox" name="q1_1" value="" onClick="quetion()">質問1</th>
<td><input type="radio" name="q1_1a" value="a" disabled ></td>
<td><input type="radio" name="q1_1a" value="b" disabled ></td>
<td><input type="radio" name="q1_1a" value="c" disabled ></td>
</table></form>
No.1ベストアンサー
- 回答日時:
スマートかどうかは判りませんが
(1)
quetion('q1_1a')
で呼び出して、引数で指定されたname のフォームをdisabled=false にする
(2)
チェックボックスとラジオボタンの命名規則を
X Xa のように決めておき
quetion(this) で呼び出す。
function quetion(el){…、で受けたとすると
el.name で"q1_1" のような名前が取り出せるので、
"q1_1" + "a" の様に配下となるラジオボタンの名前を作り出して
以下(1) と同じ。
この場合は、form が複数あった場合に、(親form が(から)階層的に取り出せるので)有利。
蛇足
質問:Question
No.2
- 回答日時:
チェックボックスの名前+aがラジオボタンという法則性があるなら
以下のような感じにしてみてください
<script language=javascript>
function question(obj){
f=obj.form
for(i=0;i<f.length;i++){
if(f[i].name==obj.name+"a") f[i].disabled=!obj.checked
}
}
</script>
<form name="form1">
<table><tr>
<th><input type="checkbox" name="q1_1" value="" onClick="question(this)">質問1</th>
<td><input type="radio" name="q1_1a" value="a" disabled ></td>
<td><input type="radio" name="q1_1a" value="b" disabled ></td>
<td><input type="radio" name="q1_1a" value="c" disabled ></td>
</table></form>
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・チョコミントアイス
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・あなたの習慣について教えてください!!
- ・ハマっている「お菓子」を教えて!
- ・高校三年生の合唱祭で何を歌いましたか?
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・家の中でのこだわりスペースはどこですか?
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ラジオボタンを一括で操作する...
-
ラジオボタンのチェックが外れ...
-
クリックさせたいが、click()が...
-
特定<table>内の<td>の色を変える
-
テーブル列の表示・非表示機能...
-
テキストエリアに履歴を残したい
-
innerHTML内では改行は禁止?
-
SendKeys()が一番最後に実行さ...
-
slickのレスポンシブ > center...
-
return trueとreturn falseの用...
-
Pythonで会員サイトの自動ログ...
-
Selectボックスの一覧表示方法
-
eval()を使わずに数値を取得し...
-
javascriptでセレクトボックス...
-
onchangeイベントを強制的に発...
-
関数名などの固有名詞(?)を...
-
ボタンかリンクをクリックする...
-
プルダウン 項目が多いので先頭...
-
tableの任意行にfocusをあてる
-
フォーム内で記入したクエリ送...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
チェックボックス付きのテーブ...
-
JavaScriptの「.querySelectorA...
-
ラジオボタンとテキストボック...
-
画面表示とともにtableの指定の...
-
テーブル内のチェックボックス...
-
クリックしたラジオボタンの行...
-
ラジオボタンが選択されたらテ...
-
VBSでの自動ログイン
-
formで項目を連結したい
-
文字数を数える際に空白、改行...
-
Formのシリアライズができない
-
localStorageでのcheckbox制御
-
DOM追加時に表示されるが自動削...
-
innerHTMLで自動生成された表を...
-
【緊急】リアルタイムでエラー...
-
Javascriptの電卓で最初の何も...
-
チェックボックスの全選択・全...
-
フォントをまとめて<h5>にでき...
-
JavaScriptで、コピーボタンを...
-
ボタン押下すると一行テキスト...
おすすめ情報