JQUERY .each()的用法

//后台代码
	@RequestMapping("switchDate")
	@ResponseBody
	public String switchDate(IotControlDeviceData iotControlDeviceData, HttpServletResponse response) {
		List<IotControlDeviceData> iotControlDeviceDataList = iotControlDeviceDataService.findByGnAndPoolId(iotControlDeviceData);
		AjaxJson j = new AjaxJson();
		j.put("iotControlDeviceDataList", iotControlDeviceDataList);
		return renderString(response, j);
	}
//页面
<li class="off-on-button" id="feedingMachineStatus">
							<c:forEach items="${iotControlDeviceDataList}" var="list">
								<c:if test="${list.devno == 3}">
							<!-- <li class="off-on-button" id="feedingMachineStatus"> -->
								<%-- <p class="${flag0}" onclick='butt("${deviceDo.slaveId}","${flagT}","${deviceDo.deviceId}","${fishLogPoolSet.name}")'></p> --%>
								<c:set var="flag0" value="off-on on" />
									<c:if test="${list.state == false}">
										<c:set var="flag0" value="off-on" />
									</c:if>
								<p class="${flag0}" onclick='butt("${list.id}","${list.iotStting.fishLogPoolSet.id}","${list.gatewaysn}","${list.devno}")'></p>
								<p>${list.iotStting.name}</p>
							<!-- </li> -->
							</c:if>	
							</c:forEach>
							</li>
						</ol>
						<a class="set-param" href="">设置<br />参数</a>
					</div>
					<div class="content-right-bottom">
					<div id="oxygenatorStatus">
					<c:forEach items="${iotControlDeviceDataList}" var="list">
					<c:if test="${list.devno == 1 || list.devno == 2}">
						<div class="feeding off-on-button" >
						<c:set var="flag1" value="off-on on" />
								<c:if test="${list.state == false}">
									<c:set var="flag1" value="off-on" />
								</c:if>
								${list.iotStting.name}<span  class="${flag1}" onclick='butt("${list.id}","${list.iotStting.fishLogPoolSet.id}","${list.gatewaysn}","${list.devno}")' ></span>
						</div>
						</c:if>
					</c:forEach>
//js
<script type="text/javascript">
		var indexbs ;
		function butt(id,fishLogPoolSetId,gatewaysn,devno) {
			$.ajax({
				async : false,
				url : "${ctx}/controlswitch/iotControlDeviceData/switch?id=" + id,
				type : "POST",
				dataType : "json",
				beforeSend : function() {
					// 显示loading提示
					indexbs = top.layer.load();
				},
				success : function(data) {
					layui.use('layer', function(){
						  var layer = layui.layer;
						  top.layer.alert(data.msg,{
							  offset:'rb',
							  btn: ['确定'],
							  yes: function(index, layero){
								    layer.close(index); //如果设定了yes回调,需进行手工关闭
								  setTimeout(function(){
								    $.ajax({
								    	dataType:"json",
								    	type:'POST',
								    	url:"${ctx}/aquacultureManagement/switchDate",
								    	data : {"iotStting.fishLogPoolSet.id":fishLogPoolSetId,"gatewaysn": gatewaysn},
								    	success: function(data2){
								    	    var tbody = ""; 
								    		if(devno == 3){
								    			$.each(data2.body.iotControlDeviceDataList,function(n,list) {
								    				var trs = ""; 
									    			var flag0 = "off-on on";
									    			if(list.devno == 3){
									    				if(list.state == false){
									    					flag0 = "off-on";
									    				}
										    			trs += '<p class="'+flag0+'" onclick="butt(&quot;'+list.id+'&quot;,&quot;'+list.iotStting.fishLogPoolSet.id+'&quot;,&quot;'+list.gatewaysn+'&quot;,&quot;'+list.devno+'&quot;)"></p>'
								    			          +'<p>'+list.iotStting.name+'</p>'; 
										    			tbody += trs; 
									    			}
								    			});
								    			$('#feedingMachineStatus').empty().append(tbody);
								    	    }else{
								    	    	$.each(data2.body.iotControlDeviceDataList,function(n,list) {
								    	    		var trs = ""; 
									    			var flag1 = "off-on on";
									    			if(list.devno == 1 || list.devno == 2){
									    				if(list.state == false){
									    					flag1 = "off-on";
									    				}
										    			trs += '<div class="feeding off-on-button" >'+list.iotStting.name
															+'<span class="'+flag1+'" onclick="butt(&quot;'+list.id+'&quot;,&quot;'+list.iotStting.fishLogPoolSet.id+'&quot;,&quot;'+list.gatewaysn+'&quot;,&quot;'+list.devno+'&quot;)"></span>'
								    			          +'</div>'; 
										    			tbody += trs; 
									    			}
								    	    	});
								    	    	$('#oxygenatorStatus').empty().append(tbody);
								    	    }
								    	   }
								    });
								}, 3000);
							  },
							  cancel: function(index, layero){ 
								  layer.close(index); //如果设定了yes回调,需进行手工关闭
								  setTimeout(function(){
								    $.ajax({
								    	dataType:"json",
								    	type:'POST',
								    	url:"${ctx}/aquacultureManagement/switchDate",
								    	data : {"iotStting.fishLogPoolSet.id":id,"gatewaysn": gatewaysn},
								    	success: function(data2){
								    	    var tbody = ""; 
								    		if(devno == 3){
								    			$.each(data2.body.iotControlDeviceDataList,function(n,list) {
								    				var trs = ""; 
									    			var flag0 = "off-on on";
									    			if(list.devno == 3){
									    				if(list.state == false){
									    					flag0 = "off-on";
									    				}
										    			trs += '<p class="'+flag0+'" onclick="butt(&quot;'+list.id+'&quot;,&quot;'+list.iotStting.fishLogPoolSet.id+'&quot;,&quot;'+list.gatewaysn+'&quot;,&quot;'+list.devno+'&quot;)"></p>'
								    			          +'<p>'+list.iotStting.name+'</p>'; 
										    			tbody += trs; 
									    			}
								    			});
								    			$('#feedingMachineStatus').empty().append(tbody);
								    	    }else{
								    	    	$.each(data2.body.iotControlDeviceDataList,function(n,list) {
								    	    		var trs = ""; 
									    			var flag1 = "off-on on";
									    			if(list.devno == 1 || list.devno == 2){
									    				if(list.state == false){
									    					flag1 = "off-on";
									    				}
										    			trs += '<div class="feeding off-on-button" >'+list.iotStting.name
															+'<span class="'+flag1+'" onclick="butt(&quot;'+list.id+'&quot;,&quot;'+list.iotStting.fishLogPoolSet.id+'&quot;,&quot;'+list.gatewaysn+'&quot;,&quot;'+list.devno+'&quot;)"></span>'
								    			          +'</div>'; 
										    			tbody += trs; 
									    			}
								    	    	});
								    	    	$('#oxygenatorStatus').empty().append(tbody);
								    	    }
								    	   }
								    });
								}, 3000);
								}
						  	})
						});
				},
				complete : function() {
				    layer.close(indexbs);
				}
			});} 
		</script>

从后台返回的data2是个json ,$.each(data2.body.iotControlDeviceDataList,function(n,list) {,each里面应该是你返回的集合,

var 一个变量trs,把要循环的代码赋给trs,又在外层var了一个tbody把trs赋值给tbody,因为如果不在外部在var一个tbody内部变量外部无法调用,然后通过.empty()清除原有代码,.append(tbody)把循环出来的代码给赋给他

上面用的是layui的弹窗, 

&quot;是转义符代表的是引号

猜你喜欢

转载自blog.csdn.net/weixin_41148727/article/details/84826510
今日推荐