layui数据表格

layui.use('table',function(){
var table=layui.table;
table.render({
elem:'table',
url:'../gettable', //请求地址,
method:'post', //请求方式
where:{

},
toolbar:'#toolbarDemo',
totalRow:true,
cols:[[
{field:'title',title:'标题'}, //width:宽度 hide: 是否初始隐藏,默认false
{title:'操作',align:'cunter',width:300,templet:function(d){
var h="";
h+='<a class="layui-btn layui-btn-xs" onclick="执行的方法(\''+d.xx/*传参*/+'\')">编辑</a>';
h+='<a class="layui-btn layui-btn-xs" onclick="执行的方法(\''+d.xx/*传参*/+'\')">删除</a>';
return h;
}}
]],
page:true, //是否开启分页,默认false
limit:10, //每页显示的条数
limitd:[10,20,30], //每页显示条数的选择项,默认:10,20,....90
request:{ //重新指定请求翻页参数
pageName:'page', //当前页
limitName:'pageSize' //每页显示的条数
},
response:{ //重新指定相应参数名称
countName:'allcount' //总页数
},
done:function(res,curr,count){
}
})
})

 

 合并单元格:

 done:function(res, curr, count) {
             var data = res.data;
            var mergeIndex = 0;//定位需要添加合并属性的行数
            var mark = 1; //这里涉及到简单的运算,mark是计算每次需要合并的格子数
            var columsName = ['','proNo','content','moldtype'];//需要合并的列名称
            var columsIndex = [0,1,2,3];//需要合并的列索引值
            
            for (var k = 0; k < columsName.length; k++)//这里循环所有要合并的列
                {
                var trArr = $(".layui-table-body>.layui-table").find("tr");//所有行
                for (var i = 1; i < res.data.length; i++) { //这里循环表格当前的数据
                var tdCurArr = trArr.eq(i).find("td").eq(columsIndex[k]);//获取当前行的当前列
                var tdPreArr = trArr.eq(mergeIndex).find("td").eq(columsIndex[k]);//获取相同列的第一列
                if (data[i][columsName[k]] === data[i - 1][columsName[k]]) { //后一行的值与前一行的值做比较,相同就需要合并
                    console.log(data[i][columsName[k]]);
                    console.log(data[i - 1][columsName[k]]);
                    mark += 1;
                    tdPreArr.each(function () {//相同列的第一列增加rowspan属性
                    $(this).attr("rowspan", mark);
                    });
                    tdCurArr.each(function () {//当前行隐藏
                    $(this).css("display", "none");
                    });
                    }else {
                    mergeIndex = i;
                    mark = 1;//一旦前后两行的值不一样了,那么需要合并的格子数mark就需要重新计算
                    }
                }
            } 
        }

 

 

二级菜单:

layui.use(['form','layer','layedit'],function(){

  $=layui.jquery;

  var form=layui.form;

  var layer=layui.layer;

  var layedit=layui.layedit;

  var testers="";

  $.each(data,function(index,item){

    testers+='<option value="'+item.name+'">'+item.name+'</option>'

  });

  $("#id").html('<option value=""></option>');

  $("#id").append(testers);

  form.render();

  //监听事件

  form.on('select(lay-filter属性值)',function(data){

    xxxx

  })

})

 

数据返回格式:

{"allcount":"总条数","code":"0",msg:"","data:[{"id":"id"}........../*返回的数据*/]"}

 

{type:'checkbox',fixed:true},  //开启选择

var datas=table.checkStatus('id').data   //获取选中行的所以数据,数组

posted @ 2019-06-17 16:29  fdbnf  阅读(851)  评论(0编辑  收藏  举报