广告
返回顶部
首页 > 资讯 > 前端开发 > html >Layer如何做弹窗使用及返回数据接收
  • 937
分享到

Layer如何做弹窗使用及返回数据接收

2024-04-02 19:04:59 937人浏览 安东尼
摘要

这篇文章给大家分享的是有关Layer如何做弹窗使用及返回数据接收的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Layer做为弹窗,主页面代码:注意1. callback()方法

这篇文章给大家分享的是有关Layer如何做弹窗使用及返回数据接收的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

Layer做为弹窗,主页面代码:

注意1. callback()方法 返回字符串,再data:JSON.parse(res)转为ajax提交时的json参数

注意2. textarea 上使用append方法没有效果,改写: var str = $("#area").val() + “\n”+d; $("#area").val(str);

//引入js 必须要有(1.8以上版本) Jquery 
 <script src="__PUBLIC__/js/jquery.js"></script>
 <script type="text/javascript" src="__PUBLIC__/js/layer/layer.js"></script>
 
//点击事件,弹出窗口
function openCitySelect(){
	 layer.open({
   type: 2, //以frame型式加载content页面
   title: "设置区域",
   shadeClose: true,
   shade: 0.4,
   area: ['90%', '90%'],
   content: "{:U('user/index/citylist')}", //指向页面
   btn: ['选择城市','追加城市','关闭'], //底部按钮
   yes: function(index){
    //当点击‘选择城市'按钮的时候,获取弹出层返回的值 
    var res = window["layui-layer-iframe" + index].callback();
    //打印返回的值,看是否有我们想返回的值。    
    $.ajax({
	    url:"{:U('user/index/getListOfCity')}",
	    type:"post",
	    data:JSON.parse(res),
     success:function(data){ 	 
	     //console.log(data);
	     var a = JSON.parse(data);
	    b = a.length;
	    if (0 >= b) {
	     Wind.use('artDialog',function(){
	      art.dialog({
	      id : "alert",
	      icon : "error",
	      content : "请至少选择一个地区",
	      ok : function() {}
	      });
	     });
	    }else {
	      var thisCitys = JSON.parse(data);
	 					var d="";
	 					var new_arr = []; 					
	      for (var f = 0; f < thisCitys.length; f++) {    	 
	     	  if($.inArray(thisCitys[f],new_arr)==-1) { 	     	 	 
	     	 		 new_arr.push(thisCitys[f]); 	     	 	
	     	  }
	      }
	      //去重
	      for(var i=0;i<new_arr.length; i++){
	     	 d = isNull(d) ? new_arr[i] : d + ("\n" + new_arr[i])
	      }
	       // }
	     
	      $("#area").val(d);
	     
	     lineTotal('area');
	    } 
	    },
	    error:function(e){
	     alert("错误!!"); 	     
	    }
	   }); 
    //最后关闭弹出层
    layer.close(index);
   },
   btn2:function(index){
  	 //当点击‘追加城市'按钮的时候,获取弹出层返回的值
    var res = window["layui-layer-iframe" + index].callback();
    //打印返回的值,看是否有我们想返回的值。
    
    $.ajax({
 	    url:"{:U('user/index/getListOfCity')}",
 	    type:"post",
 	    data:JSON.parse(res),
     success:function(data){ 	 
 	     //console.log(data);
 	     var a = JSON.parse(data);
 	    b = a.length;
 	    if (0 >= b) {
 	     Wind.use('artDialog',function(){
 	      art.dialog({
 	      id : "alert",
 	      icon : "error",
 	      content : "请至少选择一个地区",
 	      ok : function() {}
 	      });
 	     });
 	    }else {
 	      var thisCitys = JSON.parse(data);
 	 					var d="";
 	 					var new_arr = []; 					
 	      for (var f = 0; f < thisCitys.length; f++) {    	 
 	     	  if($.inArray(thisCitys[f],new_arr)==-1) { 	     	 	 
 	     	 		 new_arr.push(thisCitys[f]); 	     	 	
 	     	  }
 	      }
 	      //去重
 	      for(var i=0;i<new_arr.length; i++){
 	     	 d = isNull(d) ? new_arr[i] : d + ("\n" + new_arr[i])
 	      }
 	       // }
 	      var str = $("#area").val() + "\n"+d; 	
 	      console.log(str);
 	      $("#area").val(str);
 	     
 	     lineTotal('area');
 	    } 
 	    },
 	    error:function(e){
 	     alert("错误!!"); 	     
 	    }
 	   }); 
    //最后关闭弹出层
    layer.close(index);
   },
   cancel: function(){
    //右上角关闭回调
   }
  });
 }

弹窗页面的代码:

注意: window.callback 用来将数据返回到主页

<script type="text/javascript" src="__PUBLIC__/js/layui2/layui.js"></script>
 <script>  
 		
  //加载模块 	  	 
 	 layui.use('fORM', function(){   
   var $ = layui.jquery, form = layui.form ; 
  //返回数据的方法, 在layui中 用window.前缀可以被外面访问到.
   window.callback = function() {
				var arr = new Array();
				$("#province :checkbox[checked]").each(function(i){
					arr[i] = $(this).val();
				});
				var vals = arr.join(",");
				var has_pro = $("#pro").is(':checked')?1:0;
				var has_city = $("#city").is(':checked')?1:0;
				var has_county = $("#county").is(':checked')?1:0;
				var has_end = $("#short_name").is(':checked')?1:0;
				var has_and_pro = $("#pro_city").is(':checked')?1:0;
				var has_and_city = $("#city_county").is(':checked')?1:0;
				var result = '{ "provinces":" ' + vals + '","has_pro":"' + has_pro + '","has_city":"' + has_city + '","has_county":"' + has_county 
					+ '","has_end":"' + has_end + '","has_and_pro":"' + has_and_pro + '","has_and_city":"' + has_and_city + '"}';
				return result;
  };
  }); 	 
 	 
 	</script>

感谢各位的阅读!关于“Layer如何做弹窗使用及返回数据接收”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

--结束END--

本文标题: Layer如何做弹窗使用及返回数据接收

本文链接: https://www.lsjlt.com/news/73485.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Layer如何做弹窗使用及返回数据接收
    这篇文章给大家分享的是有关Layer如何做弹窗使用及返回数据接收的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Layer做为弹窗,主页面代码:注意1. callback()方法 ...
    99+
    2022-10-19
  • 在layer弹出层中如何通过ajax返回html拼接字符串填充数据
    这篇文章给大家分享的是有关在layer弹出层中如何通过ajax返回html拼接字符串填充数据的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1,在给一个layer弹出层做check...
    99+
    2022-10-19
  • Springboot jpa使用sum()函数返回结果如何被接收
    目录jpa使用sum()返回结果如何接收1、需求2、解决方法一3、解决方法二jpa使用count函数和sum函数方法一方法二方法三jpa使用sum()返回结果如何接收 1、需求 我的...
    99+
    2022-11-13
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作