
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で質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
スマホ上で、左右スワイプで次...
-
ラジオボタンを複数選択したと...
-
ボタンを押したあとに画像を表...
-
画面遷移を行わずに同一ページ...
-
jsonテキストデータの並び替え...
-
clear機能を失わずにファイルア...
-
任意の変数が任意の値になった...
-
イラストレーター、縦中横のシ...
-
jQueryで同じクラス名のものを...
-
タグを教えてください。
-
jsで質問です。 formをsubmitし...
-
2025年相性がいい人のサイトの...
-
CookieをWebStoeageに変える
-
Adobe acrobat proでフォームを...
-
Outlookのアカウントがあるとメ...
-
jqueryのselect2で検索欄の文字...
-
<tr>指定した表の行要素をボ...
-
食材の期限を管理するためにGAS...
-
ビデオのJSについて
-
鍵盤アプリで、スマホの画面に...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
プルダウンメニューを選択した...
-
複数のjavascript
-
指定日のプルダウンoption
-
お問合せフォームからのメール...
-
セレクトボックスの値取得に関して
-
HTMLのoptionタグ部分に画像を...
-
ホームページビルダー オプシ...
-
前ページのリンクからフォーム...
-
プルダウンメニューで、選択項...
-
全ページにメニュー表示をさせたい
-
switch文のswitch(n)の部分を複...
-
複数のセレクトメニュー 項目の...
-
リストボックス全選択について
-
セレクトボックスを切り替える...
-
プルダウンの切り替えについて
-
セレクトボックスを2つ設けて選...
-
クリックすると下に項目が出て...
-
JavaScriptのセレクトボックス...
-
日付リストボックスの制御について
-
2つの<select>フォームの完全...
おすすめ情報