Layui将Table数据转为表单编辑与展示的完整流程
本文介绍如何在Layui中将table.render生成的表格数据转换为表单形式进行展示和编辑。通过AJAX获取数据,动态生成列表项并存储JSON数据,点击列表项触发表单渲染。同时包含编辑、删除及保存功能的实现代码,确保数据交互的完整性与准确性。
初始化表格与数据获取
首先需要初始化表格,使用table.render配置相关参数,包括指定表格容器、请求类型、数据源URL以及传递的查询条件。
table.render({
id : 'table',
type:'post',
elem : '#table',
url : url,
where : {'Id' : $data.Id},
page:false,
cols : [ [ //表头
]]
})
接着通过AJAX请求获取具体数据,确保URL路径正确,并将返回的每一行数据转换为JSON字符串,隐藏在span标签中以便后续处理。
AJAX数据请求与处理
$.ajax({
dataType:'json',
type:'post',
url:url,
data:{'Id': $data.Id},
success:function (data) {
$.each(data.rows,function (k,v) {
var myJson=JSON.stringify(v);//转化格式便于传递
//遍历展示,将每一行数据分别隐藏在span便签
$(".ul").append("<li value="+v.id+" class='layui-btn layui-btn-add '>"
+v.Name+
"<span class='vid'>"+myJson+"</span>"+
"</li>"
)
var nowTemp=$("li[value='"+temp+"']");//监测编辑的对应行
if(nowTemp){
nowTemp.addClass("layui-table-double");
}
})
}
})
利用事件委托监听ul下动态生成的li元素,当点击某个li时,解析其中隐藏的JSON数据,并调用表单渲染方法将数据展示在表单中。
动态列表与表单渲染
$('ul').on('click', 'li', function () {
var data=JSON.parse($(this).find('.vid').text());
$(this).addClass("layui-table-double");
$(this).siblings().removeClass("layui-table-double");
//点击每个动态生成的li标签,可以将其内部span隐藏的数据展示出来
appmod.formRender('Form',data);
});
实现编辑功能,当用户点击编辑按钮时,获取当前选中项的JSON数据,并重新渲染表单,允许用户对数据进行修改。
编辑功能实现
$('.edit').click(function () {
var dataTemp=$(".layui-table-double span").text();
var data=JSON.parse(dataTemp);
appmod.formRender('Form',data);
//修改后重新提交
})
添加删除功能,点击删除按钮时,弹出确认框,确认后通过AJAX发送删除请求,并在成功后刷新页面以更新列表显示。
删除功能实现
$('.del').click(function () {
var dataTemp=$(".layui-table-double span").text();
var data=JSON.parse(dataTemp);
layer.confirm('真的要删除吗?', function(index) {
$.ajax(url,{'id' : data.id},function(){
layer.close(index);
window.location.reload()
});
});
})
实现保存功能,监听表单提交事件,获取表单数据并进行必要转换,通过AJAX提交数据,成功后清空列表并重新加载数据以反映最新状态。
保存功能实现
var temp=0
form.on('submit(save)', function(data){
try{
var formData = data.field;
appmod.convertFormData('Form',formData);
var ids = [];
formData = $.extend(formData,{Ids:ids});
$.ajax(url,formData,function(resp){
$(".ul li").remove();
var newId=$("[name=id]").val();
temp=newId;
//调用本文第二段代码块
});
}catch(e){
$.showErr('未知异常');
}
return false;
});
以上步骤完整展示了如何将Layui表格数据转换为表单进行展示和编辑,包括增删改查的完整流程,供参考使用。
JS转整数出现NaN怎么办?常见异常处理方案
2026-11-05 16:27:31
推荐几款免安装的在线JS压缩工具
2026-11-05 14:54:53
JS怎么使用JSON.stringify实现JSON格式化与缩进
2026-11-04 10:47:30
CodePen、JSFiddle 与 StackBlitz:主流 JS 在线编辑器对比
2026-11-03 21:07:49
JS字符串转数字后怎么正确判断是否为有效数值
2026-11-03 20:04:15
