質問: Webページにてラジオボタンを使用したアンケートが取りたいです。 内容は伏せさせていただきますが、例として... ひらがな、アルファベット、数字、の3つの選択肢から選ばせるラジオボタンがあるとします。 ひらがなを選択した方には、あ、い、う、の選択肢から。 アルファベットを選択した方には、A、B、C、の選択肢の中から。 数字を選択した方には1,2,3,の選択肢の中から 再度選ばせるラジオボタンを作成したいです。 ○ひらがな ○あ○い○う ○アルファベット ○A○B○C ○数字 ○1○2○3 このような感じです。 どのようにHTMLとスクリプトを書けばいいでしょうか? よろしくお願いします。 ----------- ご指摘ありがとうございます。 現在までで考えられたコードを記載いたします。 ``` ラジオボタンテスト ひらがな あ アルファベット A B 数字 1 2 3 ``` 以上です。 ここで発生している問題点として ・第2選択肢が1択の場合であれば所望の動きをするが 選択肢が複数になった場合、動作しなくなる点 (私が思うに、"test2"となど、同じ名前が複数あるため?) ・ひらがなを選択した後、あ、を選択し、アルファベット、または数字を 選択した場合、あが選択されたまま入力不可になる点 です。よろしくお願いします。
回答: `document.form["test"+i]` が最初に出てくる要素しか拾わないので、そのような挙動になっているのでしょう。下記のようにすれば希望の動作に近づくと思います。 ``` function changeDisabled( num ) { var $t = document.querySelectorAll( 'input[name^="test"]' ) // 複数取得 ,i , l = $t.length ; for ( i = 0; i < l; i++ ) { $t[ i ].disabled = !( $t[ i ].name === 'test' + num ); } } ``` **動くサンプル:**