第二个下拉框的内容根据第一个选择的不同而不同。
前台代码:
<s:select name="SortListValue" id="assessSortListValue"
list="assessSortList" listKey="pointsID" listValue="pointsName"
theme="simple" headerValue="--请选择--" headerKey="0"
οnchange="ajaxpostlicense(this)"></s:select>
<select name="SortListInfoValue" style="width: 100px;"
id="SortInfoList" οnchange="ajaxpostlicenseinfos(this)"></select>
Js:
function ajaxpostlicense(obj){
var id = $(obj).val();
var html = "<option value=\"0\" selected=\"selected\">--请选择--</option>";
$("#SortInfoList").empty();
$("#SortInfoList").append(html);
$.ajax({
type: "POST",
url: "${ctx}/mouthassessmanager/AjaxGetLicenseInfo.do",
data: "SortListValue="+id,
success: function(msg){
var json = eval('('+msg+')');
var len = json.LicenseList.length;
for(var i=0;i<len;i++){
var e = json.LicenseList[i];
$("#SortInfoList").append("<option value="+e.LICENSEID+">"+e.LICENSENAME+"</option>");
}
}
});
}
后台方法:
public void AjaxGetLicenseInfo() throws Exception {
HttpServletResponse response = ServletActionContext.getResponse();
response.setCharacterEncoding("UTF-8");
String[] str = new String[] { "0002%" };
assessSortList = mouthassessService.searchSortinfo(str, SortListValue);
String json = "{LicenseList:[";
for (int i = 0; i < assessSortList.size(); i++) {
String point = ",";
if (i == assessSortList.size() - 1)
point = "";
json += "{LICENSEID:'"
+ ((Points) assessSortList.get(i)).getPointsID()
+ "',LICENSENAME:'"
+ ((Points) assessSortList.get(i)).getPointsName() + "'}"
+ point;
}
json += "]}";
response.getWriter().print(json);
}
JSON字符串要对应,
要导入 jquery-1.8.3.min.js