- ベストアンサー
複数プルダウンメニューを初期表示に戻す方法
- 複数プルダウンメニューについて教えてもらったスクリプトを使用していますが、追加の操作方法を知りたいです。
- OP2のメニューをクリックした後、OP3のメニューをクリックした際にOP2のメニューを初期表示に戻したいです。
- 初心者なので本を見ても分かりませんでした。お手数ですが、教えていただけると助かります。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんにちはshizukuさん、xruzです、やはりはずしていましたね(=.=; <script language="javascript"> <!-- // ここから追加 var s; function reSel(c) { if(s&&(s!=c)) s.options[0].selected=true; s=c; } // ここまで追加 function A_Li() { Sel=document.Link1.OP.selectedIndex; Ms=document.Link1.OP.options[Sel].value; parent.main.location.href=Ms; reSel(document.Link1.OP); // 追加 } function B_Li() { Sel=document.Link1.OP2.selectedIndex; Ms=document.Link1.OP2.options[Sel].value; parent.main.location.href=Ms; reSel(document.Link1.OP2); // 追加 } function C_Li() { Sel=document.Link1.OP3.selectedIndex; Ms=document.Link1.OP3.options[Sel].value; parent.main.location.href=Ms; reSel(document.Link1.OP3); // 追加 } function D_Li() { Sel=document.Link1.OP4.selectedIndex; Ms=document.Link1.OP4.options[Sel].value; parent.main.location.href=Ms; reSel(document.Link1.OP4); // 追加 } function E_Li() { Sel=document.Link1.OP5.selectedIndex; Ms=document.Link1.OP5.options[Sel].value; parent.main.location.href=Ms; reSel(document.Link1.OP5); // 追加 } function F_Li() { Sel=document.Link1.OP6.selectedIndex; Ms=document.Link1.OP6.options[Sel].value; parent.main.location.href=Ms; reSel(document.Link1.OP6); // 追加 } こんな感じでいかがでしょうか? 同じ処理になるよう共通化しました。 注)全部を貼り付けても動きません。追加のところだけ張付けてくださいね。
その他の回答 (1)
- xruz
- ベストアンサー率50% (72/143)
こんにちはshizukuさん、xruzです。 初期の表示メニューへ戻すわけではありませんが指定したoptionsを 表示するようにするには以下のように一行追加してください。 (はずしてますでしょうか?) function B_Li() { Sel=document.Link1.OP2.selectedIndex; Ms=document.Link1.OP2.options[Sel].value; parent.main.location.href=Ms; document.Link1.OP.options[0].selected=true; // この行を追加しました。 } がんばってくださいね。
補足
早速のご回答をありがとうございます! おかげさまでAとBは動かすことができました。 ただ、、、 3つめ(function C)からの記述がどう応用したらよいかわかりません。 どのメニューをクリックしてもすべて(直前にクリックした表示)を初期値に戻すことができますか? 本当にお手数ですが、教えてください。。 <script language="javascript"> <!-- function A_Li() { Sel=document.Link1.OP.selectedIndex; Ms=document.Link1.OP.options[Sel].value; parent.main.location.href=Ms; document.Link1.OP2.options[0].selected=true;} function B_Li() { Sel=document.Link1.OP2.selectedIndex; Ms=document.Link1.OP2.options[Sel].value; parent.main.location.href=Ms; document.Link1.OP.options[0].selected=true;} function C_Li() { Sel=document.Link1.OP3.selectedIndex; Ms=document.Link1.OP3.options[Sel].value; parent.main.location.href=Ms;} function D_Li() { Sel=document.Link1.OP4.selectedIndex; Ms=document.Link1.OP4.options[Sel].value; parent.main.location.href=Ms;} function E_Li() { Sel=document.Link1.OP5.selectedIndex; Ms=document.Link1.OP5.options[Sel].value; parent.main.location.href=Ms;} function F_Li() { Sel=document.Link1.OP6.selectedIndex; Ms=document.Link1.OP6.options[Sel].value; parent.main.location.href=Ms;}
お礼
xruzさん、ありがとうございました! 思った通りに動きました。感動。。。 詳しく記述していただいて本当に助かりました。