• layui弹出层回调的使用


    <%@page language="java" contentType="text/html; charset=UTF-8"%>
    <%@ include file="/common/taglibs.jsp"%>
    <!DOCTYPE html>
    <html lang="en">
    <head>
    <link href="${assetsctx }js/fileinput/css/fileinput.min.css" media="all" rel="stylesheet" type="text/css" />
    <script src="${assetsctx }js/fileinput/js/fileinput.min.js"></script>
    <script src="${assetsctx }js/fileinput/js/locales/zh.js"></script>
    <script src="${assetsctx }/vendor/bootstrap/bootstrap-3.37.mim.js"></script>
     <script type="text/javascript" src="${assetsctx }js/layer/layer.js"></script>
    	<script type="text/javascript" src="${assetsctx }js/ueditor/ueditor.config.js"></script>
    	<script type="text/javascript" src="${assetsctx }js/ueditor/ueditor.all.js"></script>
     <script type="text/javascript" charset="utf-8" src="${assetsctx }js/lang/zh-cn/zh-cn.js"></script>
    <script type="text/javascript" src="${assetsctx }js/My97DatePicker/WdatePicker.js"></script>
    </head>
    <body>
    	<div class="row">
    		<div class="col-sm-12">
    			<div class="panel panel-default">
    				
    				<div class="panel-body">
    					<form id="defaultform" class="form-horizontal" onsubmit="return checkForm()"
    						action="${ctx }/mission/saveorupdate" method="post" style="display:inline;">
    						<div id="myTabContent" class="tab-content ">
    							<!-- 基本信息 -->
    							<div class="tab-pane fade in active " id="home" >								
    								<input type="hidden" id="shpstoreids" name="shpstoreids" value="${mission.shpstoreids}“><!-- 隐藏的商户框 -->
    								<input type="hidden" id="shopCount" name="shopCount"><!-- 隐藏的商户数量框 -->
    								<br>
    
    
    								<div class="form-group">
    									<label class="control-label col-sm-2"></label>
    									<div class="controls col-sm-4">
    										<input type="radio" name="verificationType" id="verificationType2" value="SHOP"
    											  > 服务商
    										<button class="btn btn-primary" type="button"
    												onclick="x_admin_show('请选择关联服务商','50%','70%')">
    											关联服务商
    										</button>
    										<span id="shopCountSpan">已选择
    											<c:choose>
    												<c:when test="${empty mission.shpstoreids}"><!-- 如果 -->
    													0
    												</c:when>
    												<c:otherwise> <!-- 否则 -->
    													<c:set value="${ fn:split(mission.shpstoreids, ',') }" var="str2" />${fn:length(str2) }
    												</c:otherwise>
    											</c:choose>
    											家服务商</span>
    									</div>
    								</div>
    
    								<div class="form-group">
    									<div class="col-sm-1"></div>
    									<div class="col-sm-4">
    										<a href="${ctx }/mission/list" class="btn btn-info"><span
    											class="fa fa-arrow-left fa-fw"></span> 返回</a>   
    										<button class="btn btn-primary" type="submit"  onclick=" return checkSubmit();">
    											保存
    										</button>
    									</div>
    								</div>
    							</div>
    						</div>
    					</form>
    				</div>
    			</div>
    		</div>
    	</div>
    	<%-- 弹出层函数 --%>
    	<script src="${assetsctx }vendor/layer/layer.js"></script>
    	<script src="${assetsctx }vendor/jquery/jquery.js"></script>
    	<script type="text/javascript">
    
    		$(function () {
    			//加载弹出层
    			layui.use(['form','element'],
    					function() {
    						layer = layui.layer;
    						element = layui.element;
    					});
    		});
    		<%--弹出层
                title   标题
                id      需要操作的数据id
                w       弹出层宽度(缺省调默认值)
                h       弹出层高度(缺省调默认值)
            --%>
    		function x_admin_show(title,w,h){
    
    			var verificationType = $('input:radio[name="verificationType"]:checked').val();
    			if (verificationType !== 'SHOP') {
    				alert("请选择服务商");
    				return;
    			}
    			var shpstoreids = "${mission.shpstoreids }";
    			if (!shpstoreids) {
    				shpstoreids = $("#shpstoreids").val();
    				url = "${ctx }/mission/rich?shpstoreids=" + shpstoreids;
    			} else {
    				url = "${ctx }/mission/rich?shpstoreids=${mission.shpstoreids }";
    			}//修改数据的时候用url传参给子页面显示已勾选的内容提供数据支持
    
    			if (title == null || title === '') {
    				title=false;
    			}
    			if (w == null || w === '') {
    				w=($(window).width()*0.5);
    			}
    			if (h == null || h === '') {
    				h=($(window).height() - 100);
    			}
    			layer.open({
    				type: 2,
    				area: [w, h],
    				fix: false, //不固定
    				maxmin: true,
    				shadeClose: true,
    				shade:0.4,
    				closeBtn:1,
    				title: title,
    				content:'${ctx }/mission/rich',//指向弹出层子页面的链接
    				// scrollbar: false ,//屏蔽浏览器滚动条
    				btn: ['确定','关闭'],
    				// shade: 0.4,   //遮罩透明度
    				yes: function (index) {
    					//获取选择的row,并加载到页面
    					var row = window["layui-layer-iframe" + index].callbackdata();
    					var shopsIds = row.shopsIds;
    
    					var shopsCount = row.shopsCount;//商户数量
    					//console.log(row);
    					$("#shpstoreids").val(shopsIds);
    					if (shopsCount != null && shopsCount !== '') {
    						$("#shopsCount").val(shopsCount);
    
    						var str='';
    						str+='已选择'+shopsCount;
    						str+='家服务商';
    
    						$("#shopCountSpan").text(str);
    					}
    
    					layer.close(index)
    				},
    				cancel : function(){
    					// 你点击右上角 X 取消后要做什么
    				}
    			});
    		}
    
    
    
    	</script>
    
    
    
    <script type="text/javascript">
    		
    
            function checkSubmit(){
    			var Ids = document.getElementById("shpstoreids").value;
    			if(Ids ==  null || Ids.length<=0){
    
    				alert("请关联服务商");
    				return false;
    			}
    			return true;
    		}
    
    	</script>
    
    </body>
    </html>
    
    父页面
    =======================================================================================================================
    子页面
    <%@page language="java" contentType="text/html; charset=UTF-8"%>
    <%@ include file="/common/taglibs.jsp"%>
    <!DOCTYPE html>
    <html lang="en">
    <head>
    	<%@ include file="/common/head.jsp"%>
    	<link rel="stylesheet" href="${assetsctx }/vendor/jquery-richUI/css/jquery.richUI.min.css" />
    <body>
    <div class="row">
    	<div class="col-sm-12">
    		<div class="panel panel-default">
    			<div class="panel-body">
    				<div class="row" >
    
    					<input type="hidden" id="shopListHidden"/>
    					<input type="hidden" id="shopCount" />
    					<div class="col-sm-12" id="allshop">
    					</div>
    				</div>
    			</div>
    		</div>
    	</div>
    </div>
    <script type="text/javascript">
    
        //layui弹出层回调
        var callbackdata = function () {
    		douhaoAppendStr();
            var data = {
    			shopsIds:  arr1.join(","),
    
    			shopsCount : $("#shopCount").val(),
    
            };
            return data;
        };
    
        //页面加载执行
        $(function() {
            box();
        });
    	function box(){
            $.ajax({
                url : "${ctx}/mission/getallshops",//ajax获取的是弹出层子页面里需要加载的数据
                type : "get",
    
                async : false,
                dataType : "json",
                success : function(jsonData){
                    $("#allShop").empty();
                    var shoplist = jsonData;
    				var all=$("#allshop");
                    for (var j = 0; j < shoplist.length; j++) {
    				if (shoplist[j].districtNo !== dcode.toString()){
                        var shopId = shoplist[j].id;
                        var shopName = shoplist[j].merName;
    
    					var children=document.createElement("input");
    					children.setAttribute("type","checkbox");
    					children.setAttribute("id",shopId);
    					children.setAttribute("name",shopName);
    					children.setAttribute("value",shopId);
    					children.setAttribute("style","padding-top:2px;height:1.78em;font:5px arial;");
    					all.append(children);
    					all.append(shopName);
                    }}
                },
                error : function(){
                    // 服务器连接失败
                    alert("服务器连接失败");
                }
            });
    		huixian();
        }
    function huixian() {
    	
    	var val=$("#shopListHidden").val();
    	console.log(1111);
    	console.log(val);
    	var shopArr = val.split(',');//转换数组
    	for (var i = 0; i < shopArr.length; i++) {
    
    		$("#"+shopArr[i]).attr("checked",'true');
    
    
    	}
    }
        //拼接放到隐藏框里,shopId
        function douhaoAppendStr() {
    
    		arr1 = [];
    
    		$('input[type="checkbox"]:checked').each(function(){
    			arr1.push($(this).val());
    
    		});
            $("#shopsListHidden").val(arr1.join(","));
            var shopsCount = arr1.length;
            $("#shopCount").val(arr1.length);
    
        }
    </script>
    </body>
    </html>
    
    
    ===========================================================================================
    controller层
        @SystemControllerLog(description = "弹出层页面")
        @RequestMapping(value = "/rich{shpstoreids}", method = RequestMethod.GET)
        public String rich(HttpServletRequest request, PageForm pageForm, Model model,@RequestParam("shpstoreids") String shpstoreids) {
            int len=shpstoreids.split(",").length;
            request.setAttribute("shopsIds",shpstoreids);
            request.setAttribute("shopsCount",len);
    //        System.out.println(shpstoreids+"*****************************************");
            return "mission/rich";
        }
    	
        @SystemControllerLog(description = "弹出层服务商查询")
        @RequestMapping(value = "/getallshops", method = RequestMethod.GET)
        @ResponseBody
        public List<EappShpstore> getMerchartsByNameLike(HttpServletRequest request) {
    
            List<EappShpstore> list = eappShpstoreService.selectAll();
            return list;
        }
    	
    	@SystemControllerLog(description = "添加/修改任务")
        @RequestMapping(value = "/saveorupdate", method = RequestMethod.POST)
        public String save(HttpServletRequest request, Model model, EappMissionVo eappMissionVo) {
           eappMissionVo.setShpstoreids(eappMissionVo.getShpstoreids());
            request.getSession().setAttribute("url", "mission/list");
            return String.format("redirect:/message");
        }
    		
    

      

  • 相关阅读:
    代码间距的由来和解决方法
    径向渐变
    倒计时原理
    javascript原型模式理解
    倒计时原理和折叠收缩
    highcharts注意事项
    jsp注释前台不可见
    启动Tomcat任何程序都报错
    面试题
    eclipse不自动弹出提示(alt+/快捷键失效)
  • 原文地址:https://www.cnblogs.com/qinyios/p/11124637.html
Copyright © 2020-2023  润新知