Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
  • ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:セレクトボックスの連動)

セレクトボックスの連動

このQ&Aのポイント
  • セレクトボックスの連動について解説します。
  • セレクトボックスAを切り替えると、他のセレクトボックスがAと同じになる仕組みを作りたいです。
  • セレクトボックスの数が可変の場合、どのように書けばいいのか不明です。アドバイスをお願いします。

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

  • ベストアンサー
  • sisya
  • ベストアンサー率39% (97/244)
回答No.3

微妙に私の回答がずれてますね(^^; 修正した回答です。 どういうフォームになるのか具体的に判らないので、 場合によっては問題が発生しますが、 [select]の数を数えなくても片っ端から インデックス値を設定してしまえばすべて同じ値になります。 本来ならインデックス値を設定する前に その[elements]が[select]かどうかを判定したほうが、 より問題の無いスクリプトになると思います。 <html> <head> <title></title> <script type="text/javascript"><!-- function ChangeSelect(){ //選択項目のインデックス値を取得 var index = formA.selectA.selectedIndex; //フォームの要素数を取得し、 //すべての要素にformAのインデックス値を設定 var num = document.formB.elements.length; for(var i = 0; i < num; i++){ formB.elements[i].selectedIndex = index; } } //--> </script> </head> <body> <form name="formA"> <select name="selectA" onchange="ChangeSelect();"> <option value="りんご">りんご <option value="みかん">みかん <option value="いちご">いちご </select> </form> <form name="formB"> <input type="hidden" name="selectCnt" value="2"> <select name="selectB1"> <option value="りんご">りんご <option value="みかん">みかん <option value="いちご">いちご </select> <select name="selectB2"> <option value="りんご">りんご <option value="みかん">みかん <option value="いちご">いちご </select> </form> </body> </html>

kamay
質問者

お礼

ありがとうございます! 何とか動くものが作れました^^

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

その他の回答 (2)

  • sisya
  • ベストアンサー率39% (97/244)
回答No.2

回答です。 for文で順番にチェックしなくても 「select」の中身が全く同じなら 「selectedIndex」の値をコピーするだけで値は変更できます。 ややこしいとはおもいますが、頑張ってください。 <html> <head> <title></title> <script type="text/javascript"><!-- function ChangeSelect(){ var index = formA.selectA.selectedIndex; formB.selectB.selectedIndex = index; } //--> </script> </head> <body> <form name="formA"> <select name="selectA" onchange="ChangeSelect();"> <option value="りんご">りんご <option value="みかん">みかん <option value="いちご">いちご </select> </form> <form name="formB"> <select name="selectB"> <option value="りんご">りんご <option value="みかん">みかん <option value="いちご">いちご </select> </form> </body> </html>

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

回答とは少しずれますが、 動作しない原因を探る以前の細かいミスが多いです。 きちんとチェックするようにして下さい。 ×FormB.selectB1.options[index].value ); ○formB.selectB1.options[index].value ); ×<form name="formB> ○<form name="formB">

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

関連するQ&A