プルダウンメニューで、選択項目をリンク先でも維持したい。

解決済みの質問

プルダウンメニューで、選択項目をリンク先でも維持したい。

プルダウンメニューで、選択項目をリンク先でも維持したい。
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』選択の状態で残したいのですが。
どのようにすればよいのでしょうか・・・

よろしくお願い致します。

投稿日時 - 2006-01-19 16:54:55

QNo.1907048

困ってます

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

あまり綺麗には書けてませんが、取りあえずは動くとおもいます・・

<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>

投稿日時 - 2006-01-20 11:32:33

お礼

早速試してみたところ、動きました!すごいです!
No.1、No.2お二方の回答を参考に色々がんばってはみたのですが
全く出来ず困り果てていました。
本当にありがとうございます。
これからじっくり解析していきたいと思います。

投稿日時 - 2006-01-20 14:38:40

0人が「このQ&Aが役に立った」と投票しています

[  前へ  |  次へ ]

ベストアンサー以外の回答(2件中 1~2件目)

ANo.2

考え方だけ書きます。

まず、指定されたアンカーはwindow.location.hashで取得できます。
例えば、b.html#01に飛んだ場合、b.html側では"#01"という文字列が取得できます。
そこで、bodyか何かのonLoadイベントで指定されたアンカーをチェックして、
その内容に応じてselectのvalueかselectedIndexを指定します。

試してないので自信は無いのですが、多分この方法でできると思います。

投稿日時 - 2006-01-19 21:42:34

お礼

考え方だけでも非常に参考になりました。
どうすべきなのか全くわからない状態でしたので・・・
(しかし、書けません。。)

ありがとうございました。勉強になりました。

投稿日時 - 2006-01-20 14:34:42

ANo.1

JavaScriptだけだと、けっこうややこしいですね。
参考URLを参考にやればできそうです。

サンプルを作ろうと思ったのですが、時間がかかりそうなので割愛しました。
あとはやってみてください。

参考URL:http://homepage2.nifty.com/BASH/WWW/JavaScript/qs.html

投稿日時 - 2006-01-19 21:26:06

お礼

Javascriptだけでコレは面倒なものだったのですね。
参考URLを拝見して、なんとなくわかりかけたのですが・・・・わからなかったです。。
でも考え方の参考になったというか、非常に勉強になりました。
ありがとうございました。

投稿日時 - 2006-01-20 14:32:02

<<前へ 1 次へ>>

連想キーワードから探す

OKWaveのオススメ

教えて弁護士さん!

お金の悩みQ&A特集はこちら

教えて インプラント

信頼できる専門医を探すためのQ&A特集

お部屋探しの賃貸情報はCHINTAI

マチから探せる新しいお部屋探し!

注目ピックアップ

月1万円のらくらく家計節約♪

意外な効果!生命保険で家計節約?特集

OKちゃんねる

OKWaveからみなさんに質問!

スタッフブログ

知って得する!お得な情報をお届け!

おすすめリンク