1、前言
在平常我们的项目中会有很多在弹出框中选择某些信息,并且在弹出框中需要获取url传递过来的参数,并根据参数加载弹出框中的页面信息,那么如何获取url的参数呢?
如上图,点选择供应商,弹出供应商选择列表弹出窗口。
页面代码:
<label for="supplier" class="col-xs-2 control-label">
<a class="require">
<i class="icon-Asterisk"></i>
</a>
选择供应商
</label>
<div id="supplier_div" class="col-xs-4">
<div class="threepoint icon-DownMenu3" onclick="selectSupplier()">
</div>
<input type="text" class="form-control sel" id="supplier"
placeholder="请选择供应商" readonly>
<input type="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(){
//右上角关闭回调
}
});
}
dataGridSelectList.jsp页面代码:
<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;
}
});
</script>
本文讲解了在弹出框页面,如何获取url参数,那么如何将弹出框中选中的行的值返回到弹出框的父页面呢?详情查看本人后面的一篇blog获取layer弹出框的返回值