• 締切済み

ラジオボタンを複数選択して、リンクへ飛ぶ

初心者です。これだと、二つのネームしか選択できないのですが、三つ、四つにに増やすにはどうしたらいいのでしょうか? <script language="javascript"><!-- //リンク先の設定(URL) al=new Array(); al[0]="http://yahoo.co.jp/";//A+D al[1]="http://google.co.jp/";//A+E al[2]="http://www.goo.ne.jp/";//A+F al[3]="";//A+G al[4]="";//B+D //(略) al[11]="";//C+G(※この場合は0~11の値が入ります) function xLunch(){ aUe = document.getElementsByName("ue"); aSita =document.getElementsByName("sita"); for(i=0;i<aUe.length;i++){ if(document.getElementsByName("ue")[i].checked==true){ nUeSel=i; break; } } for(i=0;i<aSita.length;i++){ if(document.getElementsByName("Sita")[i].checked==true){ nSitaSel=i+1; break; } } nC = (aSita.length*nUeSel)+nSitaSel; location.href=al[nC-1]; } --> </script> <table border="1"> <tbody> <tr> <td>一つ目を選択してください。</td> </tr> <tr> <td><input type="radio" name="ue" checked>A <input type="radio" name="ue">B <input type="radio" name="ue">C</td> </tr> <tr> <td>二つ目を選択してください。</td> </tr> <tr> <td><input type="radio" name="sita" checked>D <input type="radio" name="sita">E <input type="radio" name="sita">F <input type="radio" name="sita">G </td> </tr> <tr> <td align="right"><input type="button" value=" OK " onclick="xLunch()"></td> </tr> </tbody> </table>

みんなの回答

回答No.1

<input type="radio" name="num0" value="00" checked>A  <input type="radio" name="num0" value="01">B  <input type="radio" name="num0" value="10">C <input type="radio" name="num1" value="00" checked>D  <input type="radio" name="num1" value="01">E  <input type="radio" name="num1" value="10">F  <input type="radio" name="num1" value="11">G  -- function xLunch () {  var radio = document.querySelectorAll ('input[name^="num"]:checked');  var str = Array.prototype.reduce.call (radio, function (r, radio) { return r + radio.value }, '')  var val = parseInt (str, 2);  alert (val); } querySelectorAll と、Array.reduce が使えるブラウザで。 input@radio には、value を付けて、2進数で指定しています。 querySelectorAll で、name =numXXXX で、尚且つ checked になったものを集め、 value 値を結合し、それを10進法に戻します。

関連するQ&A