我想给你一些建议
- Struts2 Dojo 插件不再处于开发阶段并且已被弃用,因此我建议您不要使用它,否则您可以将普通 DOJO 与 struts2 一起使用。
有一个 Jquery 插件正在积极使用中,它将为您提供您正在寻找的大部分功能,请查看A_simple_Doubleselect_with_Topics。
我不是这个插件的忠实拥护者,因为它在实现上限制了我们很多,尽管它为我们提供了很多好的小部件和功能
我的建议是使用以下方法
- 添加Struts2-JSON插件,以便从 action 中发回 JSOn 数据。
- 用户使用简单的 Jquery 将数据发送到服务器并取回 JSON,并在 Jquery JSON 解析技术的帮助下填写第二个下拉列表。
将 on-change 事件添加到您的第一个下拉菜单并创建一个函数,您将在其中填充第二个下拉菜单
function fill statenames(countryID)
var formInput='country='+countryID;
$.getJSON('search/getStateNames',formInput,function(data) {
$("#employee.statename option:first").val("-1").text("Please select state");
$('.result').html('' + data.states + '');
$.each(data.states ,function(index, value){
var stateid= document.getElementById("state");
var option=new Option(value,value);
try{
stateid.add(option);
}
catch(e){
stateid.appendChild(option);
}
});
});
动作类
public class StateListAction extends ActionSupport{
private String country;
// getter and setter
private List<String> states;
//getter and setter
public String getStateList(){
states=fillStatebasedonCountry(country);
return SUCCESS;
}
}