Layui表格:新增行显示在第一行

想要实现的效果:新添加一行数据,该行数据显示在表格的第一行。

难点:

1.获得新增数据的id。

2.把新增数据放到第一行,并且不使用重新请求数据的方法。

1、list.html

重点:

localStorage.getItem("addID") 获得全局变量

var oldData = layui.table.cache["accountsTableReload"]; 获得表格的所有数据

oldData.unshift(newData); //新数据放到第一个位置


table.on('toolbar(accountsTable)', function(obj) {
	if (obj.event == "add") {
		var oldData = layui.table.cache["accountsTableReload"];//括号中是初始化表格时的参数id,获得当前表格的所有数据
						
		var index = layer.open({
			title: '新增统型项目',
			type: 2,
			shade: 0.2,
			maxmin: true,
			shadeClose: true,
			area: ['100%', '100%'],
			content: 'add.html',
			end: function(){//layer层销毁之后的回调
				$.ajax({
					async: false,
					type: "GET",
					url: creiUrl + detailUrl + localStorage.getItem("addID"),//调用API,获得新增的数据
					dataType: 'JSON',
					contentType: "application/json;charset=UTF-8",
					success: function(res) {
						var detailData =res.data;//API请求后返回的数据
						var newData = {//新增行的数据
							 abbreviation: detailData.abbreviation//abbreviation是cols参数中定义的各列的field 
							,businessDepartment: detailData.businessDepartment
							,systemName: detailData.systemName
							,systemField: detailData.ffCatalog
		                    ......//根据自己表格字段写
							};
										
										
						 oldData.unshift(newData);//新数据放到第一个位置
						 table.reload('accountsTableReload', {
							data: oldData,
							page: {
							    curr: 1 //重新定位到第一页
							}
						 });
					
					},
					error: function(XMLHttpRequest, textStatus, errorThrown) {}
                });
								
								
			}
	});
			
});

2、add.html

重点:

localStorage.setItem("addID",res.data);  定义全局变量,得到新增数据的id

form.on('submit(submit)', function(data) {
    ......
    $.ajax({
			async: false,
			type: "post",
			url: creiUrl + addUrl,
			data: JSON.stringify(data.field),
			dataType: 'json',
			contentType: "application/json;charset=UTF-8",
			success: function(res) {
			    localStorage.setItem("addID",res.data);
				if(res.code == 0) {
					layer.msg('新增成功!', {
						icon: 1,
						time: 1000
					});
            .......
)}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Louie_0

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值