複数のプルダウンメニューを使ってページリンクをさせています。
その際ページリンクと同時に、他のメニューの選択項目を初期値す方法を教えてください。
No.157334で同じような質問があったので、それを参考に以下のように記述してみましたが、
function reSel(c) {
for(i=0; i<9; i++){
var s="document.unit.DDList";
var x=s+i;
if(x != c){
x.selectedIndex=0; //ココがうまくいきません。
}
}
}
function Li_0(obj){
parent.res.location.href=obj.options[obj.selectedIndex].value;
reSel("document.unit.DDList0");
}
(以降 Li_8まで同様)
<form name="unit" method="post">
<select name="DDList0" size="1" onChange="Li_0(this)">
<option value="help.html" selected> </option>
<option value="unit_a.html">AAA</option>
<option value="unit_b.html">BBB</option>
</select>
(以降 DDList8まで同様)
です。
どうぞよろしくお願いいたします。
No.2ベストアンサー
- 回答日時:
下記間違いです。
function reSel(objc) {
LInit(objc,document.unit.DDList0);
LInit(objc,document.unit.DDList1);
LInit(objc,document.unit.DDList2);
LInit(objc,document.unit.DDList3);
LInit(objc,document.unit.DDList4);
LInit(objc,document.unit.DDList5);
LInit(objc,document.unit.DDList6);
LInit(objc,document.unit.DDList7);
LInit(objc,document.unit.DDList8);
}
function LInit(objc , List){
if ( objc! = List ){
LIST.selectedIndex = 0;
}
function Li_0(obj){
parent.res.location.href=obj.options[obj.selectedIndex].value;
reSel(obj);
}
いずれにせよ、テスト未です。
保障はしません・・・。すいません。
Mizyuさん、回答ありがとうございました。
うまくいきました!
大変勉強になりました。
ありがとうございました。
※これを参考にされる方は、
function LInitの中の最後の行のLISTをListにしてお使いくださいね。
No.3
- 回答日時:
だって、x は文字列じゃん。
文字列には、selectedIndex なんてプロパティは存在しませんから、期待通りに動かないのは当たり前です。
試してないけど、こんな感じかなあ?
function reSel(c) {
for (i = 0 ; i < document.unit.length ; ++i) {
if (document.unit.elements[i].name != c) {
document.unit.elements[i].selectedIndex = 0
}
}
}
function Li_0(obj) {
...
reSel("DDList0")
}
# select 以外の要素が form に入っていると、もう一工夫必要です
この回答への補足
回答ありがとうございました。
おっしゃるとおりでした。
上記の方法でやってみますとDDList0の選択項目も0になってしまいましたので、
今回はMizyuさんに教えていただいた方法にしましたが、大変参考になりました。
ありがとうございました。
またわからないことがあったら、よろしくお願いします。
No.1
- 回答日時:
自信はまったくないのですが・・・。
> var s="document.unit.DDList";
> var x=s+i;
この表記で変数xに入るのは文字列ではないでしょうか?
それともJavaScriptで文字列を変数(オブジェクト変数)化する処理が入っているのであれば、話は別ですが。
連続表記するのはめんどくさいかもしれませんが
function reSel(objc) {
LInit(c,document.unit.DDList0);
LInit(c,document.unit.DDList1);
LInit(c,document.unit.DDList2);
LInit(c,document.unit.DDList3);
LInit(c,document.unit.DDList4);
LInit(c,document.unit.DDList5);
LInit(c,document.unit.DDList6);
LInit(c,document.unit.DDList7);
LInit(c,document.unit.DDList8);
}
function LInit(objc , List){
if ( objc! = List ){
LIST.selectedIndex = 0;
}
function Li_0(obj){
parent.res.location.href=obj.options[obj.selectedIndex].value;
reSel(obj);
}
このようにすればいいように思えます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript 以前の質問だと、どの条件でも配列が表示されてしまいます。 1 2022/07/09 11:40
- JavaScript セレクトボックスで配列を呼び出したい。 1 2022/07/08 20:14
- JavaScript console.logがどうしても2つ機能しないのでアドバイスをくださいお願いします 2 2022/07/07 22:13
- JavaScript セレクトを全て選択されていないと、文字によるエラーメッセージを表示させるコードを調べています 2 2023/06/22 15:48
- JavaScript セレクトボックスを2つ選択してメッセージなどを表示するには。~運賃検索プログラムを完成させたい~ 1 2022/07/22 11:10
- JavaScript JavascriptからSQLへ繋ぎ方が分からない 3 2022/07/07 00:27
- JavaScript 2段階プルダウンで1段階目の選択を終えた後に選択ボックスを見えなくしたい 2 2022/07/05 21:58
- JavaScript switch文のswitch(n)の部分を複数の値にするか、if文に変えてほしいです。 1 2022/07/27 17:18
- JavaScript sessionStorageを調べています。 1 2023/06/20 12:41
- JavaScript 電車の運賃を出すプログラムを作っています。 2 2022/06/22 09:36
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
文字色の変化
-
複数のプルダウンメニューの選...
-
選択肢によってラジオボタンを...
-
連動するセレクトボックスの内...
-
iframeのソースを取得したい
-
Null またはオブジェクトではあ...
-
キーコードなどでAlt+○を認...
-
ie=!!document.all
-
Java Script 買い物フォームで...
-
テーブルの行削除について
-
DOM要素を削除しても、イベント...
-
mousewheelイベントについて
-
コンストラクタと静的メソッド...
-
javascript スロットマシン
-
複数プルダウンでメニューを初...
-
デフォルトのリンクの色
-
ロールオーバーについて
-
javascriptのdocument.allにつ...
-
教えてください><
-
IE6だけの判定、IE7だけの判定...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
JavaScript window.openで開く...
-
文字を一文字ずつ表示
-
DOM要素を削除しても、イベント...
-
FireFoxのjavascriptで自動でキ...
-
javascriptの基本的なことだと...
-
このjavascriptのif文、条件式...
-
XMLでのAttributeを持ったNode...
-
Latexに関する質問です。
-
Null またはオブジェクトではあ...
-
VBAでIEのボタンを押してメッセ...
-
乗換案内 VBAで操作したい
-
javascriptのdocument.allにつ...
-
TexでΣの添え字の位置直し
-
showModalDialogで開いた画面を...
-
ラジオボタンでreadonlyの切替え
-
excle VBA とweb上の検索を利用...
-
LaTeX:数式を等号揃えにする方法
-
TEXTAREA内の改行位置をinnerHT...
-
iframe内のページ(複数)を変更
-
ブラウザのウィンドウサイズに...
おすすめ情報