
いつもお世話になります。
javascriptにて、ページを開くと、
セレクトボックスの値が、初期値になるようにしようと思ってますがうまくいきません。
詳しく書きますと、担当者一覧がセレクトボックスに入っていて、
そのページを開くと、ログインしている担当者名が選ばれた状態にしたいのです。
※たとえば、「山本太郎」でログインしているとすると、ページを開くとセレクトボックスが、
「山本太郎」が選ばれている状態にしたいのです。
いろいろ調べて、自分なりにソースを書いてみましたが、うまくいきません。
以下ソースになります。
<SCRIPT LANGUAGE="JavaScript" >
var tantou = "<%=Rs("作業担当者")%>"
var element = document.getElementById("sagyounm");
for (var i=0; i<element.options.length;i++) {
if(element.options[i] === 'tantou'){
element.options[i].selected = true;
break;
};
};
</SCRIPT>
Rs("作業担当者")は、ログインした担当者名です。
たぶん上記のソースはセレクトが選ばれている値を取得してるだけだと思います。
***********************************************
以下は、セレクト部分です。
<select name="sagyoutantou" id="sagyounm" required>
<option value=""/>---作業担当者選択---</option>
<option value="山本 太郎"/>山本 太郎</option>
<option value="山下 清"/>山下 清</option>
<option value="岡本 次郎"/>岡本 次郎</option>
どうにか、初期状態から担当者が選ばれている状態にできないでしょうか。
お忙しいとは思いますが、
おわかりの方いらっしゃいましたら、
どうかご教授お願いします。
No.1ベストアンサー
- 回答日時:
3点修正が必要
(1)load後の処理になるのでwindow.onloadで処理する
(2)element.options[i]ではなくelement.options[i].value
(3) 'tantou'ではなくtantou
ざっと、こんな感じ
<script>
window.onload=function(){
var tantou = "山本 太郎";
var element = document.getElementById("sagyounm");
for (var i=0; i<element.options.length;i++) {
if(element.options[i].value === tantou){
element.options[i].selected = true;
break;
};
};
}
</script>
<select name="sagyoutantou" id="sagyounm" required>
<option value=""/>---作業担当者選択---</option>
<option value="山本 太郎"/>山本 太郎</option>
<option value="山下 清"/>山下 清</option>
<option value="岡本 次郎"/>岡本 次郎</option>
No.2
- 回答日時:
よくわかりませんが…
>if(element.options[i] === 'tantou'){ ~~
だと'tanntou'という文字列と比較してしまっているので、多分、一致することはないでしょう。
変数tanntouの内容と比較するのでしょうから、
if(element.options[i] === tantou){ ~~
とすればうまくいくかも…
あと、質問文からはわかりませんが、DOM構築後にスクリプトを実行するようになっていますよね?
ところで、
>var tantou = "<%=Rs("作業担当者")%>"
って、サーバーサイドで処理しているのでしょうから、わざわざクライアントサイドで選択する処理をしなくても、出力するときに担当者をselectedにしておくとか、あるいはセレクトタグなどでなく担当者は固定にしてしまうとかでもよさそうに思いますが…
回答ありがとうございました。
まだまだ初心者なので、「''」をつけるのかどうかわかっておりませんでした。
サーバーサイドとクライアントの処理がまだよくわかってませんので、中々難しいです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript 以前の質問だと、どの条件でも配列が表示されてしまいます。 1 2022/07/09 11:40
- JavaScript セレクトボックスで配列を呼び出したい。 1 2022/07/08 20:14
- JavaScript セレクトボックスを2つ選択してメッセージなどを表示するには。~運賃検索プログラムを完成させたい~ 1 2022/07/22 11:10
- JavaScript console.logがどうしても2つ機能しないのでアドバイスをくださいお願いします 2 2022/07/07 22:13
- JavaScript セレクトを全て選択されていないと、文字によるエラーメッセージを表示させるコードを調べています 2 2023/06/22 15:48
- JavaScript JavascriptからSQLへ繋ぎ方が分からない 3 2022/07/07 00:27
- JavaScript セレクトボックスを2つ設けて選択して初めてメッセを表示 1 2022/07/27 12:15
- JavaScript switch文のswitch(n)の部分を複数の値にするか、if文に変えてほしいです。 1 2022/07/27 17:18
- JavaScript sessionStorageを調べています。 1 2023/06/20 12:41
- JavaScript 中百舌鳥駅と深井駅を入れ替えて選択しても同じ挙動にしたいです。 2 2022/06/24 18:45
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Javascriptでフォームのセレク...
-
プルダウン選択を変更すると、...
-
スマホのフォームでのselect複...
-
selectを使った計算
-
プルダウンメニューで画像を切...
-
FORMのSELECTのOPTION項目をサ...
-
VB6でWEBのラジオボタンの...
-
同じ名前のセレクトがある場合...
-
連動するプルダウンリストの作成
-
検索窓とプルダウンメニュー機...
-
selectのnameが配列の場合
-
javascriptでセレクトボックス...
-
selectが変更されたらnameを指...
-
selectボックスで選択数を制限...
-
【JS】selectでchangeした時の...
-
webページの一部のみの更新につ...
-
セレクトボックスで配列を呼び...
-
Selectボックスの一覧表示方法
-
JavaScriptで<select>の<option...
-
javascriptでセレクトボックス...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
プルダウン選択を変更すると、...
-
<input>の選択肢をプルダウンメ...
-
スマホのフォームでのselect複...
-
同じ名前のセレクトがある場合...
-
selectを変更不可にしたい
-
javascriptでセレクトボックス...
-
3つの連動したプルダウンメニュ...
-
Selectボックスの一覧表示方法
-
全てのselect要素をデフォルト...
-
リストボックス内の重複したも...
-
ラジオボタンの選択に応じてプ...
-
addclassがうまく働きません
-
ラジオボタンとプルダウンを連...
-
セレクトボタンで特定の項目で...
-
VBScriptでHTMLのセレクトボッ...
-
【javascript】連想配列からセ...
-
連想配列からセレクトボックス...
-
JavaScriptで<select>の<option...
-
セレクトボックスの初期選択と...
-
セレクトボックスで配列を呼び...
おすすめ情報