layui table数据修改的回显

本文分享了使用layui框架实现表格数据回显及编辑功能的方法。通过获取表单输入框ID并在成功展示时进行赋值,实现了数据的动态回显。具体展示了如何在点击编辑按钮后,打开弹窗并自动填充用户数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

实现的样式给你们看一波
点击这锅按钮

在这里插入图片描述

在这里插入图片描述

其实回显就是一个赋值的操作,先把form表单的那些input 框的id拿到,在展示成功的那里进行绑值

	table.on('tool(test)', function(obj) {
			var data = obj.data;       // 获得当前行数据
			var layEvent = obj.event; // 获得 lay-event 对应的值(也可以是表头的event 参数对应的值)
			var tr = obj.tr;         // 获得当前行 tr 的DOM对象
			if (layEvent === 'plan') {//修改操作
				var data = obj.data;
				layer.open({
					title : '编辑用户',
					type : 1,
					area : [ '62%', '80%' ],
					maxmin : true,
					shadeClose : true,
					content : $('#form'),
					shade : 0 // 不显示遮罩
					,
					success : function(layero, index) {
						layer.iframeAuto(index);
						console.log(data)
						$('#chc_id').val(data.chc_id);   //回显的操作最重要的一步就是这个啦,其他的也是差不多的
									}
				});	
			} //if结束
          });
						

好啦,分享结束

如果您想在 layui 表格中的下拉框中回显已有的数据,可以使用 `table.on('edit')` 事件和 `form.val()` 方法。 以下是一个示例: HTML 代码: ```html <table id="demo" lay-filter="test"></table> ``` JavaScript 代码: ```javascript layui.use(['table', 'form'], function(){ var table = layui.table; var form = layui.form; //渲染表格 table.render({ elem: '#demo', url: '/demo/table/user/', cols: [[ {field:'id', title:'ID', width:80, sort:true}, {field:'username', title:'用户名', width:120}, {field:'sex', title:'性别', width:80, templet: function(d){ return '<div class="layui-table-cell laytable-cell-1-0-2">' + (d.sex === '男' ? '<select name="sex" lay-filter="sex"><option value="男" selected>男</option><option value="女">女</option></select>' : '<select name="sex" lay-filter="sex"><option value="男">男</option><option value="女" selected>女</option></select>') + '</div>'; }}, {field:'city', title:'城市', width:100}, {field:'sign', title:'签名', width:150, edit:'text'}, {field:'experience', title:'积分', width:80, sort:true, edit:'text'}, {field:'ip', title:'IP', width:120}, {field:'logins', title:'登入次数', width:100, sort:true}, {field:'joinTime', title:'加入时间', width:120}, {fixed:'right', title:'操作', toolbar:'#barDemo', width:150} ]], page: true }); //监听单元格编辑 table.on('edit(test)', function(obj){ var value = obj.value; //得到修改后的 var data = obj.data; //得到所在行所有键 var field = obj.field; //得到字段 //更新到后台 $.ajax({ type: "POST", url: "/demo/table/edit/", data: { id: data.id, field: field, value: value }, success: function(res){ if(res.code === 0){ layer.msg(res.msg); }else{ layer.msg(res.msg, {icon: 5}); } }, error: function(){ layer.msg('网络错误,请稍后重试!', {icon: 5}); } }); }); //监听下拉框 form.on('select', function(data){ var value = data.value; //得到选中的 var field = data.elem.name; //得到所在字段 //更新到后台 $.ajax({ type: "POST", url: "/demo/table/edit/", data: { id: data.elem.dataset.id, field: field, value: value }, success: function(res){ if(res.code === 0){ layer.msg(res.msg); }else{ layer.msg(res.msg, {icon: 5}); } }, error: function(){ layer.msg('网络错误,请稍后重试!', {icon: 5}); } }); }); //渲染下拉框 table.on('renderTest', function(obj){ var select = '<select name="sex" lay-filter="sex" data-id="' + obj.data.id + '"><option value="男">男</option><option value="女">女</option></select>'; obj.tr.find('td:eq(2)').html(select); form.val('test', { 'sex': obj.data.sex }); form.render('select'); }); //渲染工具栏 table.on('toolbar(test)', function(obj){ if(obj.event === 'add'){ //添加操作 layer.msg('添加操作'); } }); }); ``` 在上面的代码中,我们使用了 `templet` 属性来渲染下拉框,并在 `renderTest` 事件中使用 `form.val()` 方法来回显已有的数据。在 `form.on('select')` 事件中,我们将修改后的更新到后台。
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值