jsp:
<font style="font-weight: bold"> 类别:</font>
<s:select list="typeList" headerKey="" headerValue="全部类别" id="type" name=" type"></s:select>
<select id="name" name="name" >
<option value="-1">所有专家</option>
</select>
<input name="action:expertInfo_doTypeSearch" type="submit" id="doSearch" value="查 询" alt="按指定条件检索用户信息" />
js:
$(document).ready(function(){
//改变下一级菜单
$("#type").change(function(){
var $name = $("#name");
//移除name下拉菜单下的值
$name.children().remove();
//访问action方法
$.get("<%=basePath%>expertInfo/expertInfo_doApplyName.action?t="+new Date(),"type=" + $(this).val(), function(data){
//往下拉菜单中添加值
var $option = $("<option value=-1>所有专家</option>");
$name.append($option);
$(data).find("name").each(function(i,n){
$option = $("<option value="+$(n).find("id").text()+">"+$(n).find("name").text()+"</option>");
$name.append($option);});
});
});
});
action:
public void doApplyName(){
response.setContentType("text/xml;charset=utf-8");
PrintWriter out;
try {
out = response.getWriter();
//获取URL中的中文
String major = new String(request.getParameter("major").getBytes("ISO-8859-1"),"gb2312");
Map<String,Object> params = new HashMap<String,Object>();
params.put("major", major);
expertInfoList = expertInfoService.selectByParams(params);
StringBuffer sub = new StringBuffer();
sub.append("<names>");
for (ExpertInfo expertInfo : expertInfoList) {
sub.append("<name>");
sub.append("<id>" + expertInfo.getId() + "</id>");
sub.append("<name>" + expertInfo.getRealname() + "</name>");
sub.append("</name>");
}
sub.append("</names>");
out.println(sub.toString());
} catch (IOException e) {
e.printStackTrace();
}
}