获取layer弹出框的返回值

之前的一篇blog获取URL参数,如下图,
讲解了点“选择供应商”按钮,弹出选择供应商页面,在弹出选择供应商页面,如何获取url的参数。那么在弹出页面点确认按钮,如可将选中的信息返回到父页面呢?

获取layer弹出框的返回值_第1张图片

选择供应商html:



<div id="supplier_div" class="col-xs-4">
    <div class="threepoint icon-DownMenu3" onclick="selectSupplier()">
    div>
    "text" 
           class="form-control sel" 
           id="supplier" 
           placeholder="请选择供应商" 
           readonly>
    "hidden" id="supplierId" name="supplier.id" >          
div>

selectSupplier()函数:

//选择设备供应商
function selectSupplier(){
  layer.open({
     type: 2,
     area: ['400px', '400px'],
     shade: 0.3,
     shadeClose: false,//默认开启遮罩关闭
     resize: false,//默认重设大小是否
     maxmin: true,//默认最大最小化按钮
     scrollbar: true,//默认滚动条是否开启
     moveType: 1,//默认拖拽模式,0或者1
     content: "/web/common/dataGridSelectList.jsp?type=supplier", 
    //如果不让iframe出现滚动条,
    //可以content: ['http://sentsin.com', 'no']
     btn: ['确定','关闭'],
     yes: function (index) {
         //获取选择的row,并加载到页面
         var row = window["layui-layer-iframe" + index].callbackdata();
         if(row){
             //将弹出框加选中供应商信息显示到页面上
             $(#supplier).val(row.supplier.name);
             $(#supplierId).val(row.supplier.id);
             layer.close(index)
         }else{
             layer.msg('请选择供应商', {icon: 0});
         }
     },
     cancel: function(){
                //右上角关闭回调
     }
 });
}

注意:上面代码中有这样一行,如下,其中callbackdata()函数是在弹出框页面中定义的。

//获取选择的row,并加载到页面
var row = window["layui-layer-iframe" + index].callbackdata();

我们看一下弹出框页面中callbackdata函数:

<script>
$(document).ready(function () {        
    //解析url,获取type参数
    var type = getQueryString("type");

    //获取url参数
    function getQueryString(name) { 
        var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i"); 
        var r = window.location.search.substr(1).match(reg); 
        if (r != null) return unescape(r[2]); return null; 
    }   

    //回调函数,返回选中的供应商行
    function callbackdata() {
        var row = $('#supplierlList').datagrid('getSelected');
        return row;
    } 
});
script>

你可能感兴趣的:(Easyui,Easyui,弹出框返回值,layer)