明確なオプションの1つは、Struts2Doubleselectを使用することです。あなたは次のようなことをする必要があります
<s:doubleselect label="doubleselect test1" name="menu" list="{'fruit','other'}" doubleName="dishes" doubleList="top == 'fruit' ? {'apple', 'orange'} : {'monkey', 'chicken'}" />
<s:doubleselect label="doubleselect test2" name="menu" list="#{'fruit':'Nice Fruits', 'other':'Other Dishes'}" doubleName="dishes" doubleList="top == 'fruit' ? {'apple', 'orange'} : {'monkey', 'chicken'}" />
あなたはここでより多くの例を見つけることができます
二重選択を使用したくない場合は、Jqueryを使用して単純なS2選択タグを使用できます。2番目のドロップダウンの値をどこから取得するかがわかりません。これがアクションクラスからのものである場合は、 Struts2-JSONとしてデータをUIに送り返すのに役立つJSONプラグインであり、いつでもJqueryのJSON解析機能を使用してJSONを解析し、次のようにドロップダウンを埋めることができます。
var formInput='state='+statedata;
$.getJSON('search/fillDropDown',formInput,function(data) {
$("#district option:first").val("-1").text("Please select a district");
$('.result').html('' + data.districts + '');
$.each(data.districts,function(index, value){
var districtid = document.getElementById("district");
var option=new Option(value,value);
try{
districtid.add(option);
}
catch(e){
districtid.appendChild(option);
});
});
上記では、最初のドロップダウンで選択した値に基づいて別のドロップダウンに入力し、JSONプラグインを使用してアクションからリストをJSONデータとして送り返しています。