こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

【struts】2つのselectの連動

struts初心者です。

2つのselectで、一つ目のselectが選択されたら、関連する内容のデータを、もう一つのselectに表示させるようにしたいです。

どうすればできるのでしょうか?javascriptとか使用するんですかね??

投稿日時 - 2007-04-17 09:37:42

QNo.2927736

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

どちらが簡単とかそういう問題ではありません。
要求されている機能を満たすように、製作する必要があります。

たとえば、1つ目のSELECT対象が100件あって、2つ目のSELECT対象がそれぞれ100件あるとしたら、
JavaScript「だけ」では事実上無理(10000件分用意しなくてはいけない)ということは、
お分かりになるかと思います。

なので、要求されている機能と仕様から、判断して決める必要があります。
「どっちが簡単?」などと聞かれている状況では、サンプルソースを提示するのは、無理なんじゃないかと思います。

投稿日時 - 2007-04-17 10:40:53

補足

そうですね。すみません。
件数を考えたら、サーバでやるほうがいいみたいです。

投稿日時 - 2007-04-17 15:35:31

ANo.1

こんにちは。

1.JavaScriptを使用して行う
2.サーバ側の処理で行う

と、クライアントで行うかサーバで行うかになります。

1の場合はそのページを読み込む際に1番目のデータと2番目のデータを全て読み込み、JavaScriptにて動的に変更します。

2の場合は1番目のデータのみ読み込んでおき、1番目が選択された後にサーバへ選択された値を送信し、それに関係する2番目のデータを取得して表示してあげます。

投稿日時 - 2007-04-17 09:46:49

補足

rs.getString("CD")のデータが同じデータを連動させて表示させたいんですが、サーバ側とJavaScriptだったらどちらが簡単できるのでしょうか?
また、簡単でもいいので参考ソースを教えていただければ嬉しいです。
図々しくてすみませんが・・・

ResultSet rs = state.executeQuery(sql);

//一つ目のデータ
master.setOffice_id(rs.getInt("ID"));
master.setArea_cd(rs.getString("CD"));
master.setOffice_name(rs.getString("NAME"));
ret.add(master);

//二つ目のデータ
master.setOffice_id(rs.getInt("dataID"));
master.setArea_cd(rs.getString("CD"));
master.setOffice_name(rs.getString("VALUE"));
ret.add(master);

投稿日時 - 2007-04-17 10:05:22

あなたにオススメの質問