layui表格的使用

0.创建;

引css

<link rel="stylesheet" href="../../../res/layui/dist/css/layui.css" tppabs="http://res.layui.com/layui/dist/css/layui.css"  media="all">
<!-- 注意:如果你直接复制所有代码到本地,上述css路径需要改成你本地的 -->

创建table

<table class="layui-hide" id="demo" lay-data="{ url: '', id:'demo1', escape: true}" lay-filter="demo1">
</table>
<!--lay-date  用来引静态数据,id标记的是数据内容-->
<!--lay-filter  与lay-date的id一致-->

编写js

<script>
layui.use(['table', 'util','layer','jquery'], function(){
  var table = layui.table
  ,util = layui.util
  ,layer = layui.layer
  ,$ = layui.jquery;
  
  table.render({
    elem: '#demo'
    ,url: '../demo/table/user/-page=1&limit=20.js'
    ,cellMinWidth: 80 //全局定义常规单元格的最小宽度,layui 2.2.1 新增
    ,cols: [[
      {field:'id', width:80, title: 'ID', sort: true, fixed: 'left'}
      ,{field:'username', width:80, title: '用户名'}
      ,{field:'sex', width:80, title: '性别', sort: true ,  edit: 'text'}
      ,{field:'city', width:80, title: '城市'}
      ,{field:'sign', title: '签名', width: '30%', minWidth: 100} //minWidth:局部定义当前单元格的最小宽度,layui 2.2.1 新增
      ,{field:'experience', title: '积分', sort: true}
      ,{field:'score', title: '评分', sort: true}
      ,{field:'classify', title: '职业'}
      ,{field:'wealth', width:137, title: '财富', sort: true}
    ]]
    ,height: 'full-30'//固定高度-即固定表头固定第一行首行并设置数据空间大小
    ,skin: 'line' //表格风格
    ,even: true
    ,page: true //是否显示分页
    ,limits: [5, 7, 10]  //分页的数量选择
    ,limit: 10 //每页默认显示的数量
  });
    table.on('edit(demo1)', function(obj){
    var value = obj.value //得到修改后的值
    ,data = obj.data //得到所在行所有键值
    ,field = obj.field; //得到字段
	
	 var selector = obj.tr.find('[data-field=' + obj.field + ']');  //必须要
     var oldtext = $(selector).text();  //修改前的值
	
	if(check(value,field)){
		layer.msg('[户号: '+ data.NBH +'] ' + field + ' 字段更改值为:'+ util.escape(value));
	}else{
		//校验不通过,还原数据
		if(field == 'JMDL'){  //JMDL是列id
		   obj.tr.find('td[data-field=JMDL] input').val(oldtext);
            obj.update({ JMDL: oldtext });
		}else if(field == 'DZDL'){
			obj.tr.find('td[data-field=DZDL] input').val(oldtext);
            obj.update({ DZDL: oldtext });
		}
	}
});
//数据校验  如果是小数返回false;
function check(value,field){
    var rep=/[\.]/;  //小数判断
    var rep1=/^\d+$/g; //数字判断
    if(field == 'JMDL' ||field == 'DZDL' || field == 'SYDL' || field == 'NYDL' ){
        if(rep.test(value)){
            alert("请输入一个整数!")
            return false;
        }
    }
    return true;
}
});

</script>

1.第一行固定;

,height: 'full-30'//固定高度-即固定表头固定第一行首行并设置数据空间大小

2.分页;

,page: false //是否显示分页
,limits: [5, 7, 10]  //分页的数量选择
,limit: 10 //每页默认显示的数量

3.宽度自适应;

 ,cellMinWidth: 80 //全局定义常规单元格的最小宽度,layui 2.2.1 新增

4.单元格编辑并校验;

 ,{field:'sex', width:80, title: '性别', sort: true ,  edit: 'text'}
//  edit: 'text'  实现单元格可编辑

5.排序;

 ,{field:'wealth', width:137, title: '财富', sort: true}
 // sort: true  实现排序

6.指定列固定;

 {field:'id', width:80, title: 'ID', sort: true, fixed: 'left'}
 // fixed: 'left' 实现ID列固定在最左边

7.单元格编辑并校验;

table.on('edit(demo1)', function(obj){
    var value = obj.value //得到修改后的值
    ,data = obj.data //得到所在行所有键值
    ,field = obj.field; //得到字段
	
	 var selector = obj.tr.find('[data-field=' + obj.field + ']');  //必须要
     var oldtext = $(selector).text();  //修改前的值
	
	if(check(value,field)){
		layer.msg('[户号: '+ data.NBH +'] ' + field + ' 字段更改值为:'+ util.escape(value));
	}else{
		//校验不通过,还原数据
		if(field == 'JMDL'){  //JMDL是列id
		   obj.tr.find('td[data-field=JMDL] input').val(oldtext);
            obj.update({ JMDL: oldtext });
		}else if(field == 'DZDL'){
			obj.tr.find('td[data-field=DZDL] input').val(oldtext);
            obj.update({ DZDL: oldtext });
		}
	}
});
//数据校验  如果是小数返回false;
function check(value,field){
    var rep=/[\.]/;  //小数判断
    var rep1=/^\d+$/g; //数字判断
    if(field == 'JMDL' ||field == 'DZDL' || field == 'SYDL' || field == 'NYDL' ){
        if(rep.test(value)){
            alert("请输入一个整数!")
            return false;
        }
    }
    return true;
}
使用layui表格,首先需要引入layui库和layui表格模块的js和css文件。具体的引入方式可以参考layui官网的文档。 在HTML页面中,可以通过下面的代码创建一个简单的表格: ``` <table id="demo" lay-filter="test"></table> ``` 然后,在JavaScript中,可以使用下面的代码初始化和渲染表格: ``` layui.use('table', function(){ var table = layui.table; //第一个实例 table.render({ elem: '#demo', url: '/demo/table/user/', //数据接口 page: true, //开启分页 cols: [[ //表头 {field: 'id', title: 'ID', width: 80, sort: true, fixed: 'left'}, {field: 'username', title: '用户名', width: 120}, {field: 'sex', title: '性别', width: 80, sort: true}, {field: 'city', title: '城市'}, {field: 'sign', title: '签名'}, {field: 'experience', title: '积分', width: 80, sort: true}, {field: 'score', title: '评分', width: 80, sort: true}, {field: 'classify', title: '职业', width: 80}, {field: 'wealth', title: '财富', width: 135, sort: true}, {fixed: 'right', title:'操作', toolbar: '#barDemo', width:150} ]] }); }); ``` 在上面的代码中,我们通过调用`layui.use('table', function(){})`来引入并初始化表格模块。然后,我们使用`table.render()`方法来渲染表格,其中`elem`属性用于指定表格的ID,`url`属性用于指定数据接口的URL,`cols`属性用于指定表头和每一列的属性。 通过以上的步骤,就可以实现一个简单的layui表格。当然,如果需要更加复杂的功能,还需要进一步学习和使用layui表格模块的其他功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值