C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 84 を表示中)
■49926 / )  Re[1]: 二つのセレクトボックスの連動処理
□投稿者/ たか (46回)-(2010/05/23(Sun) 10:54:07)
やり方としては3通りあります。

1つは 1つ目のセレクトボックスの値が変更された際にonChangeイベントで一度データをポストし
画面をリロードして そのポストされたデータを元に2つめのセレクトボックスの値をサーバー内で生成しセットすることです。
構築難易度は一番易しいが UI的には若干使いにくい
<html:select name="formName" property="result" onChange="this.form.action='Self.do';this.form.submit()">
(strutsは1年以上ぐらい書いてないから微妙に違うかも?)
Self.doにはそのページのURLってことで・・・
あとリロードしたってフラグ値を渡してやる必要もあるかも?


2つめはあらかじめ2つめのセレクトぼっくの候補になり得る値を取得しておいてJavaScript内にセットし
JavaScriptによって1つめのセレクトぼっくのonChangeイベントで2つめのセレクトボックスにセットすることです。
■参考
http://lumber-mill.co.jp/gallery/view/portfolio/yosei/js/combobox
構築難易度はまぁまぁで UI的には使いやすい ただし2番目にセットされる候補が多いとサーバー負荷が大きい


3つめはAjaxで動的にサーバーから候補を取得してJavaScriptでセットする
構築難易度は一番難しい(というよりメンドクサイ)けどUI的には使いやすいしサーバー負荷は少なくて済む


どれを選択するかはケースバイケース。
大手サイトだと3番目が増えてきてるけど未だに1のところもたくさんあるしなんとも言えない。

返信 編集キー/


管理者用

- Child Tree -