首页 > 代码库 > STRUS2+MYBATIS+SPRING ajax+json 返回list 给select 实现级联

STRUS2+MYBATIS+SPRING ajax+json 返回list 给select 实现级联

很早就想研究一下ajax 通过json 方式走action 返回list 给前台 显示,今天终于做出来了,把代码贴出来分享给大家

  1. ajax json 方式需要jar包,一会从附件分享给大家。

  2. 首先我用的开发框架式ssi2,接下来我把代码帖给大家。

    (1)前台页面jhxdxukezheng.jsp

<script type="text/javascript">
	function plannochange(){
		var planno=$("#planno").val();
			$.ajax({
			type : ‘post‘,
			url : ‘SampleAction_selectProducttypeByPlanno‘,
			dataType:‘json‘,
			data : {
				planno : planno,
				
			},
			success : function(data) {
// 				alert(data);
				  $("#producttype").empty();
// 				  $("#producttype").append("<option>请选择</option>");
			        $.each(data, function (i, item) {  
// 			            alert(item.name + ","  +item.value);  
			            $("#producttype").append("<option value=http://www.mamicode.com/‘"+item.name+"‘>"+item.value+"</option>");
			         
			        });  
				
			},
			error:function(){
				alert("错误");
			}

		});

	};

</script>

<b>计划编号:</b>
				<s:select list="#request.plannolist" listKey="planno"
					listValue="http://www.mamicode.com/planno" id="planno" onchange="plannochange()"></s:select>
				<b>产品类型:</b>
				<s:select list="jsonarry" listKey="name" listValue="http://www.mamicode.com/value" headerKey="1" headerValue="http://www.mamicode.com/请选择" id="producttype"></s:select>
(2)action 类
    public String selectProducttypeByPlanno() {
		response.setContentType("text/html;charset=UTF-8");
		String planno = request.getParameter("planno");
		List<Producttype> producttypelist = sampleService
				.selectProducttypeByPlanno(planno);
		JSONArray jsonarry = JSONArray.fromObject(producttypelist);

		try {
			PrintWriter out = response.getWriter();
			System.out.println(jsonarry.toString());
			out.print(jsonarry.toString());
			out.flush();
			out.close();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return null;

	} 
注:1.这里数据传输方式为:json方式{"1":"aa","2":"bb"}
    2.  $("#producttype").empty()代表下拉列表清空  alert(item.name + ","  +item.value);  
			            $("#producttype").append("<option value=http://www.mamicode.com/‘"+item.name+    "‘>"+item.value+"</option>");代表下来列表追加
    3.JSONArray jsonarry = JSONArray.fromObject(producttypelist)代表把list集合转化成jsona    rry格式,再 用PrintWriter流输出参数jsonarry.toString()返给前台页面
    
    
	
	



本文出自 “大话程序” 博客,请务必保留此出处http://houqida.blog.51cto.com/8877896/1580003

STRUS2+MYBATIS+SPRING ajax+json 返回list 给select 实现级联