一个<c:forEach>标签改ajax异步加载的例子

<c:forEach>标签代码:

<ul>
        
	<c:forEach items="${disList}" var="dis" varStatus="status">
		<c:if test="${status.index >= 3}">
	    <div style="display: none;" id="hotcar_jxs_more" class="hotcar">
	</c:if>
	    <li onclick="changeImage(this)">
		    
		<c:if test="${dis.checked=='true'}">
			<img name="myimage" src="images/hotcar_xz03.png" value="${dis.id}">
		</c:if>
		<c:if test="${dis.checked=='false'}">
			<img name="myimage" src="images/hotcar_xz04.png" value="${dis.id}"> 
		</c:if>
		
		<div class="hotcar_jxs_wz">
		    <p class="title">
		    <c:if test="${dis.type=='4S'}">
			<span class="models_sj_left_ls">4S</span>
		    </c:if>
		       ${dis.name}
		    </p>
		    <p>${dis.address}</p>
		</div>
		
	    </li>
	    <c:if test="${status.index >= 3}">
	    </div>
	</c:if>
    </c:forEach>
    
</ul>

jQuery异步加载的代码:

<ul id="jxs_ul">
        	
</ul>
// 根据车型id和城市获取经销商
	function showGrouponPrice_location(carId,cityName){
		$.ajax({
		  	url:"getGrouponPrice",
			type:'post',
			data:"carId="+carId+"&cityName="+cityName,
			success:function(data){
				$("#jxs_ul li").remove();
				//alert("---   "+data);
				var json = eval("(" + data + ")");
				//alert(json[0].id+" - "+json[0].name);
				for(var i=0;i<json.length;i++){
					var li="";
					var img = "";
					var s4 = "";
			        var hotcar_jxs_wz = "";
		            
		            if(json[i].checked=="true"){
		            	img = "<img name='myimage' src='images/hotcar_xz03.png' value='"+json[i].id+"'>";
		            }else{
		            	img = "<img name='myimage' src='images/hotcar_xz04.png' value='"+json[i].id+"'>";
		            }
		            
		            if(json[i].type=="4S"){
		            	s4="<span class='models_sj_left_ls'>4S</span>";
		            }
		            hotcar_jxs_wz = "<div class='hotcar_jxs_wz'><p class='title'>"+s4 + json[i].name+"</p><p>"+json[i].address+"</p></div>";
		            
		            li="<li onclick='changeImage(this)'>"+img + hotcar_jxs_wz+"</li>";
		            
		            if(i>=3){
		            	li = "<div style='display: none;' id='hotcar_jxs_more' class='hotcar'>"+li+"</div>";
		            }
		            
		            $("#jxs_ul").append(li);
				}
				
				if($(".hotcar").is(":hidden")){
					//当前是hide状态
					if($("#mark").html()=="收起"){
	                   $('#mark').html("加载更多经销商");
	                   $('#show>img').attr("src","images/hotcar_arrow05.png");
	                }
				}else{
					//当前是show状态
				 	
				}
				
			}
		});	
	}

使用<c:forEach>标签的时候,java后台直接返回list数组:

request.setAttribute("disList", disList);

使用ajax异步获取的时候,将list数组转换为json数组

JSONArray jsonarray = JSONArray.fromObject(disList);
			
System.out.println(disList);
PrintWriter out;
response.setCharacterEncoding("utf-8");
out = response.getWriter();
out.write(jsonarray.toString());
out.flush();
out.close();

转载于:https://my.oschina.net/hehongbo/blog/719435

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值