layui之layer打开table后分页无效的解决方法

1.原代码:css

<body>
<div id="showalladdableavms" style="display: none;width:100%">
    <table id="demo" lay-filter="test"></table>
</div> -->
</body>
<script> filldata(table,"#demo","getDateForUserJurisdiction.gds"); layer.open({ type:1, title:"添加机器", maxmin:true, area:["100%","100%"], btn:["确认添加"], content: $("#showalladdableavms").html(), success: function (layero) { var btn = layero.find('.layui-layer-btn'); btn.css({'position':'relative','top':"-93%","text-align":"left","left":"8%"}); }, btn1:function(index, layero){ //console.log(layero, index);
                                  var res = getoperavms('demo'); console.dir(res) } }); function filldata(table,id,url){ table.render({ elem: id, height:"560" ,url:url //数据接口
                  ,method: 'POST' ,cellMinWidth: 80 //全局定义常规单元格的最小宽度,layui 2.2.1 新增
                  ,page:true/* { //支持传入 laypage 组件的全部参数(某些参数除外,如:jump/elem) - 详见文档 first: true //显示首页 ,last: true //显示尾页 } */ ,limits : [10,20,30] ,limit:10 ,request: { pageName: 'page',//页码的参数名称,默认:page
 } ,cols: [[ //表头
                             {checkbox:true} ,{field: 'id', title: 'ID', width:80, sort: true} ,{field: 'avm', title: '机器编号', width:80} ,{field: 'company', title: '公司名称', width:80} ,{field: 'area', title: '区域', width:80, sort: true} ,{field: 'circuit', title: '线路', width:80} ,{field: 'position', title: '位置', width: 177} ,{field: 'goodsxml', title: '商品库', width: 80, sort: true} ]] ,where : { //传值 startDate : startDate,
                          allavm:'yes' } ,response: { // statusName: 'code' //数据状态的字段名称,默认:code
                         //,statusCode: 200 //成功的状态码,默认:0
                         //,msgName: 'message' //状态信息的字段名称,默认:msg
                         countName: 'total' //数据总数的字段名称,默认:count
                         ,dataName: 'rows' //数据列表的字段名称,默认:data
 } /* done:function(){ layer.open({ type:1, maxmin:true, area:["800px","600px"], content: $("#showalladdableavms") }); } */ }); } </script>

2.现象:分页,选择框等没法操做,查了查说是使用html()方式获得的内容会丢失dom对象的事件,若是直接用dom会出现一直没法展现dom内容的问题。html

3.解决:动态添加:app

var dom = $("<div id='showalladdableavms' style='display:none;width:100%'><table id='demo' lay-filter='test'></table></div>"); $('body').append(dom)

这种方式能够很好的解决写死在页面里的dom对象打开时不展现,显示呈暗灰色调的问题,同时,dom对象的事件也获得了支持,完美dom

相关文章
相关标签/搜索