A、Bという2つのプルダウンメニューがあります。
Aにはaa、bb、ccという項目があらかじめ固定値で入っています。
Bは初期状態ではなにも表示されません。
Aのメニューからaaを選ぶと、Bにdd、eeという項目が表示されます。
Aのメニューからbb、ccを選んだ時はBのプルダウンメニューには何も表示されません。
Aからaaが選ばれたか判定するところまではできたのですが、Bのプルダウンメニューにdd、eeを表示させる方法がわかりません。
どのようにすればうまくいくでしょうか?
HEAD部>>
function GetMenu() {
var index = tstFrm.menuA.selectedIndex;
var str = tstFrm.menuA.options[index].value;
if (str == "aa") {
/************************************************/
/ここがわかりません
/************************************************/
}
}
BODY部>>
<form name="tstFrm" onChange="GetMenu()">
<select name="menuA">
<option value="aa">aa
<option value="bb">bb
<option value="cc">cc
</select>
<select name="menuB">
/************************************************/
/ここもわかりません
/************************************************/
</select>
menuAのvalueがaaの時に、menuBが
<option value="dd">dd
<option value="ee">ee
menuAのvalueがbbまたはccの時に、menuBが
<option value="">
となるようにしたいのです。
アドバイスお願い致します。
わかりにくくてすみません。
No.2ベストアンサー
- 回答日時:
コード書いてみました。
<script><!--
function GetMenu() {
var str = document.all.menuA.value;
if (str == "aa") {
document.all.menuB.options[0].value="dd"
document.all.menuB.options[0].text="dd"
document.all.menuB.options[1].value="ee"
document.all.menuB.options[1].text="ee"
}else{
document.all.menuB.options[0].value=""
document.all.menuB.options[0].text=""
document.all.menuB.options[1].value=""
document.all.menuB.options[1].text=""
}
}
//-></script>
<form name="tstFrm" >
<select name="menuA" onChange="GetMenu()">
<option value="aa">aa
<option value="bb">bb
<option value="cc">cc
</select>
<select name="menuB">
<option value="">
<option value="">
</select>
</form>
ポイントは、
・「tstFrm.menuA」ではなく「document.all.menuA」とする。
・onChangeは(formタグではなく)selectタグに書く。
IE6で動作確認しました。
No.3
- 回答日時:
これでいけると思います。
説明は割愛しますので解読してみて下さい。<html>
<head>
<script>
function GetMenu(str) {
var frm = document.tstFrm;
//既存option削除
for (var i=0; i<frm.menuB.length; i++) {
frm.menuB.options[0] = null;
}
//option再設定
frm.menuB.options[0] = new Option("","");
if(str == "aa") {
frm.menuB.options[1] = new Option("dd","dd");
frm.menuB.options[2] = new Option("ee","ee");
}
}
</script>
</head>
<body>
<form name="tstFrm">
<select name="menuA" onChange="GetMenu(this.value)">
<option value=""></option>
<option value="aa">aa</option>
<option value="bb">bb</option>
<option value="cc">cc</option>
</select>
<br><br>
<select name="menuB">
</select>
</form>
</body>
</html>
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript 以前の質問だと、どの条件でも配列が表示されてしまいます。 1 2022/07/09 11:40
- JavaScript console.logがどうしても2つ機能しないのでアドバイスをくださいお願いします 2 2022/07/07 22:13
- JavaScript セレクトボックスで配列を呼び出したい。 1 2022/07/08 20:14
- JavaScript JavascriptからSQLへ繋ぎ方が分からない 3 2022/07/07 00:27
- JavaScript セレクトボックスを2つ選択してメッセージなどを表示するには。~運賃検索プログラムを完成させたい~ 1 2022/07/22 11:10
- JavaScript 電車の運賃を出すプログラムを作っています。 2 2022/06/22 09:36
- JavaScript セレクトを全て選択されていないと、文字によるエラーメッセージを表示させるコードを調べています 2 2023/06/22 15:48
- JavaScript 1度きりではなく、繰り返し、挙動が変わるようにしていただきたいです。 1 2022/07/03 15:50
- JavaScript 2段階プルダウンで1段階目の選択を終えた後に選択ボックスを見えなくしたい 2 2022/07/05 21:58
- JavaScript 中百舌鳥駅と深井駅を入れ替えて選択しても同じ挙動にしたいです。 2 2022/06/24 18:45
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
jQueryで同じクラス名のものを...
-
二次元配列を使って順位をだす...
-
指定時間になったら、WEBサイト...
-
【JS】selectでchangeした時の...
-
特定の文字列を複数抜き出した...
-
読み込んだQRコードをフォーム...
-
IndexedDB を使ってファイルア...
-
ローディングアニメーションの...
-
画面遷移を行わずに同一ページ...
-
ブックマークレットについて
-
GASでチェックボックスを一括of...
-
Q&A掲示板の入力フォームに文字...
-
jsで質問です。 displayプロパ...
-
clear機能を失わずにファイルア...
-
初心者です。gulpでコンパイル...
-
セレクトボックスで配列を呼び...
-
追加ボタンを押した際に ok ボ...
-
①入力フォーム→②確認表示画面→③...
-
メールフォームの日付入力フォ...
-
GASでGoogleフォームの自動返信...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
var exports = exports || {}; ...
-
HTMLタグに複数のクラスを設定...
-
jsで質問です。 displayプロパ...
-
画面遷移を行わずに同一ページ...
-
Googleフォームで選択肢に応じ...
-
特定の文字列を複数抜き出した...
-
フロントエンドフレームワーク...
-
変数名をどのようにつけるのが...
-
【JS】selectでchangeした時の...
-
React hooksが値を返して配列変...
-
オブジェクトから任意のプロパ...
-
指定時間になったら、WEBサイト...
-
Colorboxがうまく設置できません
-
二次元配列の中の各行の要素を...
-
読み込んだQRコードをフォーム...
-
IndexedDB を使ってファイルア...
-
HTMLで作った時報アプリが動き...
-
GASに文字列として関数を入れる...
-
GASでGoogleフォームの自動返信...
-
①入力フォーム→②確認表示画面→③...
おすすめ情報