WEB相談室

Webページ作成に関しての何でも掲示板です。

タイトル:コンボボックスの制御

0:[投稿] マツジ [MAIL] [2002/11/21 10:17 ][環境:WIN+IE JSP]

一昨日辺りからはじめました初心者ですが、宜しく御願い致します。
HTML内にJava Scriptを埋め込んで作業しています。
@コンボボックスに4つ選択項目を追加する
A外部クラスから値を取得
B、Aの値に応じて@の対象項目を表示させる
ということがしたいのです。

@、Aはできるのですが、Bがうまくいきません。
<%
   int iC_hard;
  /*Aデータを取得*/
   String sC_hard=Test.getC_hard();
  iC_hard = Integer.parseInt(sC_hard);

  Bここから先が分かりません
  document.フォーム名.コンボボックス名.options[iC_hard];
%>

とかいろいろやってますがダメです。
ご存知の方がいらっしゃいましたら教えて頂きたいのです。


1:[回答] にゃあ! [MAIL] [2002/11/21 11:58 ]

JavaとJavaScriptは別物なので直接データのやり取りはできません。
だから、JavaScriptの

>document.フォーム名.コンボボックス名.options[iC_hard];

はHTML内に書かなければいけません。
同様に"iC_hard"はJAVAの変数なので直接JavaScriptでは扱えません。
だから、
document.フォーム名.コンボボックス名.options[<%= iC_hard =>]
のように埋め込みます。

>対象項目を表示させる

やり方のひとつとしては、

out.print("<OPTION value=\""+value+"\"");
if(value.equals(sC_hard){
 out.print("selected");
}
out.println(">項目</OPTION>");

でしょうか。
あと、直接関係ないですが、初心者ということなので一言。

>String sC_hard=Test.getC_hard();

はあまり好ましくないやり方ですね。
せっかくオブジェクト指向言語を使っているのだから、
String sC_hard=(String)request.getAttribute("DATA");
と書くようにしましょう。


2:[完了] マツジ [2002/11/22 15:09 ]

ありがとうございます。
助かりました。
これからも宜しくお願いします。


3:[完了] にゃあ! [MAIL] [2002/11/22 16:27 ]

いや、お礼はいいですから、それよりもできたのかどうか報告してください。

アドバイスをもらった後、何をどのようにしたらできたとか、
できなかったのなら、どのようなエラーが出てできなかったとか、
きちんと報告する責任があると思います。

それはこのサイトに限らず、質問系のサイトではどこでも一緒です。
もしあなたが社会人ならその辺りは常識ですし、
まだ学生なら、そういったルールは
今のうちにきちんと身に付けておいてください。

説教ばかりで申し訳ないです。

回答(必須): 状態:

お名前(必須):

e-mail:

URL:




[戻る]

ChaichanPAPA's World