- ベストアンサー
ラジオボタンとセレクトメニューの連動が複数項目
- みんなの回答 (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>
お礼
fujillinさま 早々のご回答ありがとうございます。 全く出来なくて悩んでいたのですごく助かりました。 あと、今それぞれの状態をformでくくってありますが、ひとつのformでくくって作ること可能ですか? formが複数ありますと、送信がうまくいかないようなので。。。 全くの初心者で申し訳ありません。お時間ありましたら、よろしくお願いします。