业务描述:此页面采用三个ajax请求
获得资费项目,
根据资费项目后台获得下拉列表项,
根据选中下拉列表项获得资费,
$(function(){ //动态创建下拉列表 $.ajax({ url:"getChargeList.do", data: {}, type:"GET", dataType:"json", async:false, //加锁,在执行结束后,执行$(document).ready(function{}) beforeSend:function(jqXHR){ }, success:function(data){ $.each(data, function (i, item) { //遍历json对象 $("#s").append("<option value='"+item.cmchChargeCode+"'>"+item.chargeName+"</option>"); //动态给select添加option }); }, error:function(xhr,status,errorThrown){ alert("1 error status:"+status+",error:"+errorThrown+",state:"+xhr.readyState); } }) //获得当前选中的项目的资费 $("#s").change(function(){ var o=$("#s").val(); //select的val就是当前选中的option的val $.ajax({ url:"getCharge.do", data: {charCode:o}, type:"GET", dataType:"text", beforeSend:function(jqXHR){ }, success:function(json){ $("#sfje").val(json); }, error:function(xhr,status,errorThrown){ alert("2 error status:"+status+",error:"+errorThrown+",state:"+xhr.readyState); } }) }) //获得资费项目 $.ajax({ url:"getChargeRule.do", data: {}, type:"GET", dataType:"text", beforeSend:function(jqXHR){ }, success:function(json){ //json操作复选框,用两个遍历 var s=json.split(','); //分隔字符串为数组,split $(s).each(function(i,n){ $("[name='C1']").each(function(){ //利用name选中所有的复选框 if($(this).val()==n){ $(this).prop("checked",true); //prop设置checked true } }) }) }, error:function(xhr,status,errorThrown){ alert("3 error status:"+status+",error:"+errorThrown+",state:"+xhr.readyState); } }) }) $(document).ready(function(){ //在以上获得list的ajax执行后,页面加载后就获取一次资费 $("#s").trigger("change"); //trigger执行一次change }); 后台:list转换json对象 ObjectMapper om=new ObjectMapper(); //先用ObjectMapper转换 String str=om.writeValueAsString(l); //l是list对象 response.setContentType("text/plain;charset=UTF-8"); PrintWriter pw=response.getWriter(); //用PrintWriter输出 pw.print(str); pw.flush(); pw.close(); 感谢您的阅读。祝我找到工作。