• ベストアンサー

ラジオボタンの選択で表示内容を変える

ラジオボタンA,Bの2つがあり、Aを押したら メッセージ1を、Bを押したらメッセージ2を、 ラジオボタンのすぐ横に表示させたいのですが、 私の探したJavaScriptのサンプルにはありませんでした。 どのようにしたら表示されるか、教えてください。 お願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • godakaz
  • ベストアンサー率72% (16/22)
回答No.3

<html> <head> <script language="javascript"> <!-- function rdo(n){ var m=document.f.r.length - 0; var j=n.value; if(n.checked){ for(i=0;m>i;i++){ var k=""+i; document.getElementById(k).style.display="none"; } document.getElementById(j).style.display="inline"; } } //--> </script> </head> <body> <form name="f" id="f"> <input type="radio" name="r" id="r" value="0" onClick="rdo(this);">A: &nbsp; <input type="radio" name="r" id="r" value="1" onClick="rdo(this);">B: &nbsp; <span name="0" id="0" style="display:none;">Message.1</span><span name="1" id="1" style="display:none;">Message.2</span> </form> </body> </html> 回答その.2 ブロック要素としての表示(display=block)からインライン要素としての表示(display=inline)に変更し、かつ、フォーム要素の中にメッセージを入れたところ、無事に「横に表示」出来るようになりました。

arisa5
質問者

お礼

ありがとうございます。大変参考になりました。

すると、全ての回答が全文表示されます。

その他の回答 (2)

  • godakaz
  • ベストアンサー率72% (16/22)
回答No.2

<html> <head> <script language="javascript"> <!-- function rdo(n){ var m=document.f.r.length - 0; var j=n.value; if(n.checked){ for(i=0;m>i;i++){ var k=""+i; document.getElementById(k).style.display="none"; } document.getElementById(j).style.display="block"; } } //--> </script> </head> <body> <form name="f" id="f"> <input type="radio" name="r" id="r" value="0" onClick="rdo(this);">A: &nbsp; <input type="radio" name="r" id="r" value="1" onClick="rdo(this);">B: </form> <div style="position:absolute; left:100; top:20;"> <span name="0" id="0" style="display:none;">Message.1</span> <span name="1" id="1" style="display:none;">Message.2</span> </div> </body> </html> メッセージ表示位置(divタグ)の left、top は、必要に応じて適宜調整してください。

すると、全ての回答が全文表示されます。
  • ryoukun
  • ベストアンサー率38% (16/42)
回答No.1

「すぐ横」ってのは良く分からないけど、こんな感じ? > <html> > <SCRIPT LANGUAGE='JavaScript'> > function oncli_rad(idx){ > if (idx==1){ > window.text1.value = "iti"; > }else{ > window.text1.value = "ni"; > } > } > </script> > <body> > <input type=radio name=radio0 Onclick="oncli_rad(1)">1<br> > <input type=radio name=radio0 Onclick="oncli_rad(2)">2<br> > <input type=text name=text1 value=""> > </body> > </html>

arisa5
質問者

お礼

ありがとうございます。参考になりました。

すると、全ての回答が全文表示されます。