• ベストアンサー

ラジオボタンとセレクトメニューの連動が複数項目

前回の質問でフォームでラジオボタンとセレクトメニューの連動をおこなうことができましたが、これを複数項目で選択可能にしたいのですが、コードを教えて頂けませんでしょうか? このような感じです。 用紙の種類 ◎デザインA  ◎選択しない  ◎その他{        }  デザインB  デザインC 色数 ◎デザインA  ◎選択しない  ◎その他{        }  デザインB  デザインC <m(__)m>どうか宜しくお願い致します。

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

  • ベストアンサー
  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.1

現状がどのようになっているのか不明なので、適当に設定していますが… こんな感じではどうでしょうか?(name=linkageのラジオボタンが対象) (全角空白は半角に) <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> <html lang="ja"> <head><title>sample</title> <meta http-equiv="Content-Script-Type" content="text/javascript"> </head> <body> <form action="#"> <div>用紙の種類</div> <div> <input type="radio" name="linkage" value="r1"> <select name="design"> <option value="A">デザインA</option> <option value="B">デザインB</option> <option value="C">デザインC</option> </select> </div> <div> <input type="radio" name="linkage" value="r2" checked>選択しない </div> <div> <input type="radio" name="linkage" value="r3">その他 <input type="text" value=""> </div> </form> <form action="#"> <div>色数</div> <div> <input type="radio" name="linkage" value="r1"> <select name="design"> <option value="A">デザインA</option> <option value="B">デザインB</option> <option value="C">デザインC</option> </select> </div> <div> <input type="radio" name="linkage" value="r2" checked>選択しない </div> <div> <input type="radio" name="linkage" value="r3">その他 <input type="text" value=""> </div> </form> <script type="text/javascript"> <!-- /*@cc_on@*/ (function(test){ document./*@if(1)attachEvent('on'+ @else@*/addEventListener(/*@end@*/'click', function(evt){  var t = evt./*@if(1)srcElement @else@*/target /*@end@*/;  if(test(t)) setDisable(t); }, false); function setDisable(t){  var i, elm, e, n, f = t.form;  if(f) elm = f.elements; else return;  for(i=0; e=elm[i++];)   if(!test(e) && e.type!="submit" && e.type!="reset") e.disabled = true;  elm = t.parentNode.childNodes;  for(i=0; e=elm[i++];){   n = e.nodeName;   if(e!=t && (n=="INPUT" || n=="SELECT" || n=="TEXTAREA" || n=="BUTTON"))    e.disabled = false;  } } //初期設定 var i, e, inp = document.getElementsByTagName("input"); for(i=0; e=inp[i++];)  if(test(e) && e.checked) setDisable(e); })(function(e){  return (e.nodeName=="INPUT" && e.type=="radio" && e.name=="linkage"); }); //--> </script> </body> </html>

souseki2010
質問者

お礼

fujillinさま 早々のご回答ありがとうございます。 全く出来なくて悩んでいたのですごく助かりました。 あと、今それぞれの状態をformでくくってありますが、ひとつのformでくくって作ること可能ですか? formが複数ありますと、送信がうまくいかないようなので。。。 全くの初心者で申し訳ありません。お時間ありましたら、よろしくお願いします。

関連するQ&A

専門家に質問してみよう