![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
javascriptを使用したプルダウンメニューについて質問です。
<form name="form1">
<select name="select" onChange="location=select.options[select.selectedIndex].value">
<option value="a.html#01">A01</option>
<option value="a.html#02">A02</option>
<option value="a.html#03">A03</option>
<option>---------------</option>
<option value="b.html#01">B01</option>
<option value="b.html#02">B02</option>
<option>---------------</option>
</select>
</form>
2つのページ(a.html、b.html)上部に上記のようなプルダウンメニューを置き、それぞれ相互に行き来できるようにしました。
一応正常に動くのですが、たとえばa.htmlのプルダウンで『B01』を選択してリンク先b.htmlに飛ぶと、プルダウンの選択項目が一番上の『A01』に戻ってしまっています。
b.htmlに飛んだ後も『B01』選択の状態で残したいのですが。
どのようにすればよいのでしょうか・・・
よろしくお願い致します。
No.3ベストアンサー
- 回答日時:
あまり綺麗には書けてませんが、取りあえずは動くとおもいます・・
<html>
<head>
<script>
function start(){
x=location.hash;
if(x!=""){
y=form1.select1.options;
for(i=0;i<y.length;i++){
z=y[i].value.indexOf(x,0)
if(z!=-1){
form1.select1.options[i].selected=true;
}
}
}
}
</script>
</head>
<body onload="start()">
<form name="form1">
<select name="select1" onchange="location.href=this.options[this.selectedIndex].value">
<option value="a.html#A01">A01</option>
<option value="a.html#A02">A02</option>
<option value="a.html#A03">A03</option>
<option value="b.html#B01">B01</option>
<option value="b.html#B02">B02</option>
<option value="b.html#B03">B03</option>
</select>
</form>
<!--b.htmlでは以下のid属性の値をid="B01"などに変更する -->
<p id="A01">A01</p>
<p id="A02">A02</p>
<p id="A03">A03</p>
</body>
</html>
早速試してみたところ、動きました!すごいです!
No.1、No.2お二方の回答を参考に色々がんばってはみたのですが
全く出来ず困り果てていました。
本当にありがとうございます。
これからじっくり解析していきたいと思います。
No.2
- 回答日時:
考え方だけ書きます。
まず、指定されたアンカーはwindow.location.hashで取得できます。
例えば、b.html#01に飛んだ場合、b.html側では"#01"という文字列が取得できます。
そこで、bodyか何かのonLoadイベントで指定されたアンカーをチェックして、
その内容に応じてselectのvalueかselectedIndexを指定します。
試してないので自信は無いのですが、多分この方法でできると思います。
考え方だけでも非常に参考になりました。
どうすべきなのか全くわからない状態でしたので・・・
(しかし、書けません。。)
ありがとうございました。勉強になりました。
No.1
- 回答日時:
JavaScriptだけだと、けっこうややこしいですね。
参考URLを参考にやればできそうです。
サンプルを作ろうと思ったのですが、時間がかかりそうなので割愛しました。
あとはやってみてください。
参考URL:http://homepage2.nifty.com/BASH/WWW/JavaScript/q …
Javascriptだけでコレは面倒なものだったのですね。
参考URLを拝見して、なんとなくわかりかけたのですが・・・・わからなかったです。。
でも考え方の参考になったというか、非常に勉強になりました。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript 以前の質問だと、どの条件でも配列が表示されてしまいます。 1 2022/07/09 11:40
- JavaScript セレクトボックスを2つ選択してメッセージなどを表示するには。~運賃検索プログラムを完成させたい~ 1 2022/07/22 11:10
- JavaScript JavascriptからSQLへ繋ぎ方が分からない 3 2022/07/07 00:27
- JavaScript セレクトボックスで配列を呼び出したい。 1 2022/07/08 20:14
- JavaScript 中百舌鳥駅と深井駅を入れ替えて選択しても同じ挙動にしたいです。 2 2022/06/24 18:45
- JavaScript セレクトを全て選択されていないと、文字によるエラーメッセージを表示させるコードを調べています 2 2023/06/22 15:48
- JavaScript 電車の運賃を出すプログラムを作っています。 2 2022/06/22 09:36
- JavaScript console.logがどうしても2つ機能しないのでアドバイスをくださいお願いします 2 2022/07/07 22:13
- JavaScript セレクトボックスを2つ設けて選択して初めてメッセを表示 1 2022/07/27 12:15
- JavaScript switch文のswitch(n)の部分を複数の値にするか、if文に変えてほしいです。 1 2022/07/27 17:18
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
日付リストボックスの制御について
-
以前の質問だと、どの条件でも...
-
プルダウンメニューを選択した...
-
プルダウンメニュー項目のフォ...
-
セレクトボックスの幅をプルダ...
-
複数のフォームを一括で送信す...
-
submitをボタン以外にするには
-
1つのformで複数のactionを実...
-
送信ボタン押下時に値が未入力...
-
<a href=**?***=***>をGET方式で
-
type="hidden"を使って時刻を送信
-
1アクションでPOST・GET、両方...
-
フォームに入力した値をURLに付...
-
動的にnema属性が変化する場合...
-
親ページからインラインフレー...
-
JavaScript の 「showDialog」
-
HTML mailto の使い方
-
javaScriptで検索結果の保持
-
CGI動作後に元のページに戻る方法
-
ブラウザのテキストボックスに...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
HTMLのoptionタグ部分に画像を...
-
プルダウンの切り替えについて
-
プルダウンメニュー項目のフォ...
-
<SELECT>タグでの selected 状...
-
セレクトボックスの幅をプルダ...
-
switch文のswitch(n)の部分を複...
-
セレクトボックスを2つ設けて選...
-
セレクトボックスを切り替える...
-
jQuery要素の絞り込み + <selec...
-
複数のプルダウンの値をパラメ...
-
プルダウンを2つ以上並べる時に...
-
プルダウンメニューアイテムの...
-
HPビルダー9で、プルダウン形...
-
リストボックス全選択について
-
プルダウンメニューで、選択項...
-
複数のプルダウンからリンクす...
-
複数のプルダウンメニューの設...
-
子ウインドウを開く際、フォー...
-
VB6.0でコントロール配列の配列...
-
プルダウンでリンク先へいくと...
おすすめ情報