在Layui框架中,要编辑表格(table)的数据,可以使用Layui的内置组件table.edit
。以下是一个简单的示例,展示如何使用Layui的table组件进行数据编辑。
首先,确保你已经引入了Layui的CSS和JavaScript文件。
cs
<link rel="stylesheet" href="path/to/layui/css/layui.css">
<script src="path/to/layui/layui.js"></script>
然后,在HTML中创建一个用于展示表格的容器。
cs
<table id="demo" lay-filter="test"></table>
使用JavaScript初始化Layui的table组件,并开启编辑功能。
cs
layui.use(['table', 'form'], function(){
var table = layui.table;
var form = layui.form;
table.render({
elem: '#demo'
,url:'/path/to/your/data' // 数据接口
,toolbar: '#toolbarDemo' // 开启工具栏,工具栏位置 '#toolbarDemo'
,title: '用户数据表'
,cols: [[
{type: 'checkbox', fixed: 'left'}
,{field:'id', title:'ID', width:80, sort: true, fixed: 'left'}
,{field:'username', title:'用户名', edit: 'text', width:150}
,{field:'sex', title:'性别', edit: 'text', width:80}
,{field:'city', title:'城市', edit: 'text', width:100}
,{field:'sign', title:'签名', edit: 'text', minWidth: 150}
,{field:'score', title:'得分', edit: 'text', sort: true, width: 80}
,{fixed: 'right', width: 165, align:'center', toolbar: '#barDemo'}
]]
,done: function(res, page, count){
// 在这里执行表格数据渲染后的相关操作,比如为数据行绑定事件等
}
});
// 监听工具栏
table.on('tool(test)', function(obj){ //注:tool 是工具条事件名,test 是 table 设定的 lay-filter="*"
var data = obj.data //获得当前行数据
,layEvent = obj.event; //获得 lay-event 对应的值
if(layEvent === 'del'){
// 执行删除操作
}
});
// 监听单元格编辑
table.on('edit(test)', function(obj){
var value = obj.value //得到修改后的值
,data = obj.data //得到所在行所有数据
,field = obj.field; //得到字段名
// 执行更新操作
});
});
在你的HTML中定义工具栏和操作按钮的模板。
cs
<script type="text/html" id="toolbarDemo">
<div class="layui-btn-container">
<button class="layui-btn layui-btn-sm" lay-event="getCheckData">获取选中行数据</button>
<button class="layui-btn layui-btn-sm" lay-event="getCheckLength">获取选中长度</button>
<button class="layui-btn layui-btn-sm" lay-event="isAll">验证是否全选</button>
</div>
</script>
<script type="text/html" id="barDemo">
<a class="layui-btn layui-btn-xs" lay-event="edit">编辑</a>
<a class="layui-btn layui-btn-xs layui-btn-danger" lay-event="delete">删除</a>
</script>