当前位置: 代码迷 >> Web前端 >> 动态的二级联动步骤
  详细解决方案

动态的二级联动步骤

热度:47   发布时间:2012-11-26 11:48:49.0
动态的二级联动方法

第二个下拉框的内容根据第一个选择的不同而不同。


前台代码:

<s:select name="SortListValue" id="assessSortListValue"
							list="assessSortList" listKey="pointsID" listValue="pointsName"
							theme="simple" headerValue="--请选择--" headerKey="0"
							onchange="ajaxpostlicense(this)"></s:select>

<select name="SortListInfoValue" style="width: 100px;"
							id="SortInfoList" onchange="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

  相关解决方案