よろしくお願いします。
子ウィンドウ側の地下鉄南北線という文字リンクをクリックすると
00:北24条駅","01:札幌駅","02:大通駅"が親ウィンドウのセレクトメニューに反映されるように変えたいのです。下記のスクリプトを使ってどのように親ウィンドウと子ウィンドウに分ければいいのでしょうか?
駅名の数はそれぞれのリンクによって違います。
<html>
<head>
<title>セレクトメニューで選択したものに応じて2つめのセレクトメニューに反映させる</title>
<script language="JavaScript" type="text/JavaScript">
<!--
var data = new Array(":交通",":地下鉄南北線",":地下鉄東西線",":地下鉄東豊線");
var data0 = new Array(":---");
var data1 = new Array("00:北24条駅","01:札幌駅","02:大通駅");
var data2 = new Array("10:西18丁目駅","11:西11丁目駅","12:大通駅","13:バスセンター前","14:東札幌");
var data3 = new Array("20:札幌駅","21:大通駅","22:豊水すすきの");
function SetList(objid, arr){
var obj = document.getElementById(objid);
for(i=obj.length; i>=0; i--){ obj.options[i] = null; }
for(i=0; i<arr.length; i++){
var a = arr[i].split(":");
obj.options[i] = new Option(a[1], a[0]);
}
}
//-->
</script>
</head>
<body onLoad="SetList('sel0', data);">
<form name="form1">
<select id="sel0" name="sel0" style="width:160px;" onChange="SetList('sel1', eval('data' + this.selectedIndex))">
<option>---</option>
</select>
<select id="sel1" name="sel1" style="width:160px;">
<option>---</option>
</select>
</form>
</body>
</html>
どなたか教えていただける方がいましたらどうぞよろしくお願いいたします。
No.1ベストアンサー
- 回答日時:
子ウィンドウで文字リンクをクリックした時に
window.opener.関数名
で親ウィンドウの関数を呼べば良いと思います。
親ウィンドウの関数は
function fromChildWindow(flg)
として、子ウィンドウで呼ぶときにflgに選択したリンクを示す値を入れれば良いと思います。
後は、親ウィンドウの関数でflgを使って処理を行えばよいと思います。
私などより全然きれいなスクリプトのソースですね。
こっちも勉強になりました。
torakiyojpさんお返事ありがとうございます!
わかりました!
子ウィンドウ側にも
<!--
var data1 = new Array("00:中央区","01:南区","02:北区");
var data2 = new Array("10:旭川市");
var data3 = new Array("20:函館市");
function SetList(objid, arr){
var obj = document.getElementById(objid);
for(i=obj.length; i>=0; i--){ obj.options[i] = null; }
for(i=0; i<arr.length; i++){
var a = arr[i].split(":");
obj.options[i] = new Option(a[1], a[0]);
}
}
//-->
を置いて、リンクで
window.opener.SetList('sel0', data1)でデータを呼び出すようにしたらうまくいきました!
大変勉強になります。
どうもありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript 以前の質問だと、どの条件でも配列が表示されてしまいます。 1 2022/07/09 11:40
- JavaScript EasyUIのSubGrid(jquery)におけるObjectに入れた連想配列について 1 2022/05/02 11:21
- JavaScript GoogleChart 階層ごとのブロックの長さを個別に設定したい 1 2022/07/06 14:27
- JavaScript 画像の表示位置 3 2022/12/23 08:25
- JavaScript 2段階プルダウンで1段階目の選択を終えた後に選択ボックスを見えなくしたい 2 2022/07/05 21:58
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- JavaScript セレクトボックスで配列を呼び出したい。 1 2022/07/08 20:14
- JavaScript 1日1回引けるJavaScriptおみくじについて 1 2022/12/12 22:28
- JavaScript ソースコードのいじる場所が分かりません。 1 2022/12/23 02:06
- JavaScript switch文のswitch(n)の部分を複数の値にするか、if文に変えてほしいです。 1 2022/07/27 17:18
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
初心者です。gulpでコンパイル...
-
階層別の組織図の自動作成について
-
React hooksが値を返して配列変...
-
特定の文字列を複数抜き出した...
-
追加ボタンを押した際に ok ボ...
-
ジャバスクリプトについて。
-
GASでGoogleフォームの自動返信...
-
フロントエンドフレームワーク...
-
画面遷移を行わずに同一ページ...
-
セレクトを全て選択されていな...
-
ブックマークレットについて
-
①入力フォーム→②確認表示画面→③...
-
プログラムについて。
-
Q&A掲示板の入力フォームに文字...
-
メールフォームの日付入力フォ...
-
二次元配列を使って順位をだす...
-
iOSのみダブルタップが必要
-
jsで質問です。 displayプロパ...
-
var exports = exports || {}; ...
-
HTMLタグに複数のクラスを設定...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
二次元配列を使って順位をだす...
-
プログラムについて。
-
Q&A掲示板の入力フォームに文字...
-
メールフォームの日付入力フォ...
-
iOSのみダブルタップが必要
-
ジャバスクリプトについて。
-
画面遷移を行わずに同一ページ...
-
特定の文字列を複数抜き出した...
-
指定時間になったら、WEBサイト...
-
追加ボタンを押した際に ok ボ...
-
①入力フォーム→②確認表示画面→③...
-
スマホ上で、左右スワイプで次...
-
読み込んだQRコードをフォーム...
-
フロントエンドフレームワーク...
-
React hooksが値を返して配列変...
-
GASでGoogleフォームの自動返信...
-
初心者です。gulpでコンパイル...
-
階層別の組織図の自動作成について
-
HTMLで作った時報アプリが動き...
-
jQueryで同じクラス名のものを...
おすすめ情報