解決方法:content使用的dom元素樣式自己設置為隱藏 style="display: none;"
1 定義彈出層content使用的dom元素
<div id="sku_search-div" style="display: none;"> <form class="layui-form" lay-filter="sku_search-div-form" action="" method="post" enctype="multipart/form-data"> <div class="layui-form-item"> <div class="layui-inline"> <label class="layui-form-label">搜索類型</label> <div class="layui-input-inline"> <select name="sku_search_type" lay-verify="required"> <option value="0">全部</option> <option value="1">sku編號</option> <option value="2">顏色</option> <option value="3">尺碼</option> </select> </div> </div> </div> <div class="layui-form-item"> <div class="layui-inline"> <label class="layui-form-label">搜索值</label> <div class="layui-input-inline"> <input type="text" name="sku_search_value" id="sku_search_value" autocomplete="off" class="layui-input" value=""> </div> </div> </div> <div class="layui-form-item"> <div class="layui-inline"> <label class="layui-form-label"></label> <button type="button" class="layui-btn" lay-submit lay-filter="sku_search-div-form">搜索</button> </div> </div> </form> </div>
彈出層使用的dom元素id為“sku_search-div”,這里的關鍵點是樣式設置為隱藏 style="display: none;",因為該dom元素只顯示在彈出層里,不能使用layui內置的樣式 class="layui-hide",否則彈出層內容為空
2 使用layer.open彈出層
sku_search_index = layer.open({ type: 1, area: ['20%', '30%'], title: 'sku搜索', content: $('#sku_search-div') //這里content是一個DOM,注意:最好該元素要存放在body最外層,否則可能被其它的相對元素所影響 , cancel: function (index, layero) { //$("#sku_search-div").css({ "display": "none" }) } , shade: false //, time: 3000 });
content屬性設置為指定的dom
3 彈出層表現如下
layui官方文檔鏈接