プルダウンメニューで、選択項目をリンク先でも維持したい。
プルダウンメニューで、選択項目をリンク先でも維持したい。
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
あまり綺麗には書けてませんが、取りあえずは動くとおもいます・・
<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件目)
考え方だけ書きます。
まず、指定されたアンカーは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
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
OKWaveのオススメ
注目ピックアップ
おすすめリンク