オプション1:2番目の選択のデータを非表示要素またはJSオブジェクトとしてドキュメントに埋め込みます。最初の選択のchangeイベントハンドラーは、2番目の選択にデータを入力します。List Apartには、動的選択ページの例があります。
オプション2:AJAXを使用します。最初の選択が変更されたら、2番目の選択の内容をサーバーに要求し、それを入力します。JSライブラリ(jQueryなど)を使用すると、これは非常に簡単になります。
$('select#one').change(
function (evt) {
$('select#two').load('/thing/'+this.value);
}
);
「/thing/ <val>」はサーバー側スクリプトを識別し、「<val>」に基づいてアイテムのリストを生成します(Webサーバーの書き換え機能を使用してURLパスを実際のスクリプトに解決します)。常に<option>要素を生成するようにすることもできますが、結果の形式を指定する方法を含めると、JSONまたはその他の形式を使用してリストを<li>として出力できるようになります。
$('select#one').change(
function (evt) {
$('select#two').load('/thing/'+this.value, {fmt: 'option'});
}
);